Nome e Cognome: ______________________________________________________________
Matricola: _____________________________
1. Si supponga di eseguire il seguente segmento di codice IJVM, supponendo che all'inizio dell'esecuzione lo Stack degli operandi sia vuoto.
BIPUSH 2
BIPUSH 3
GOTO 0
IADD
Cosa conterra' lo Stack al termine dell'esecuzione di tale codice?
A: La domanda è malposta, poiche l'esecuzione di questo codice non terminerà MAI! B: Un valore indeterminato ; C: Il valore 5 ; D: i valori, partendo dal basso, 2, 3 e 5 ; E: i valori, partendo dal basso, 2 e 3 ;
2. Si consideri il seguente segmento di codice Mic1, supponendo che OPC contenga un numero
maggiore di zero.
LOOP1
Z=OPC; if (Z) goto F1; else goto L1
L1
OPC=OPC-1; goto LOOP2
LOOP2
Z=OPC; if (Z) goto F0; else goto L2
L2
OPC=OPC-1; goto LOOP1
F0
TOS=0; goto END
F1
TOS=1; goto END
END
Al termine della sua esecuzione TOS conterrà:
A: 1 se OPC contiene un numero pari, 0 se OPC contiene un numero dispari ; B: 1 ; C: 0 ; D: OPC-TOS ; E: TOS-OPC ; F: 1 se OPC > TOS, 0 se TOS > OPC ; G: 1 se OPC=max{OPC,TOS}, o altrimenti ; H: La domanda è priva di senso, poiché l'esecuzione di questo codice non terminerà MAI! I: 0 se OPC è maggiore o uguale a zero, 1 se OPC è minore di zero ; L: 1 se OPC contiene un numero che è potenza di 2, 0 altrimenti ;
3. Qual è il contenuto di TOS al termine dell'esecuzione delle seguenti microistruzioni?
H=SP=1
MAR=H+SP; rd
TOS=MDR;
A: il valore della locazione di memoria di indirizzo 2, per effetto della rd della seconda microistruzione ; B: non si sà ; C: il valore 2 ; D: il valore che aveva TOS incrementato del contenuto di SP ; E: il valore della locazione di memoria di indirizzo 1 ;
----------------
N.B.: Fra quelle proposte la risposta esatta è solo una !!!