2. Si consideri la prima microistruzione del microinterprete Mic-1 per IJVM
Main1
PC=PC+1; fetch; goto(MBR)
la parte "PC=PC+1; fetch;" serve ad estrarre:
A: Il codice operativo (opcode) della prossima istruzione ; B: Il primo byte dell'argomento dell'istruzione che si esegue nel ciclo corrente dell'interprete ; C: L'indirizzo della microistruzione da eseguire dopo Main1 ; D: Il codice operativo (opcode) della prossima istruzione o il primo byte dell'argomento dell'istruzione corrente, a seconda dell'istruzione ; E: Il codice operativo (opcode) dell'istruzione corrente o il primo byte dell'argomento dell'istruzione corrente, a seconda dell'istruzione ; F: Il codice operativo (opcode) dell'istruzione corrente o il primo byte dell'argomento dell'istruzione successiva, a seconda dell'istruzione ; F: Il codice operativo (opcode) dell'istruzione corrente ;
3. Consideriamo il seguente segmento di codice Assembly IJVM:
ILOAD k
DUP
DUP
IADD
DUP
IADD
IADD
ISTORE k
Tale codice può essere la traduzione dell'istruzione JAVA:
A:k = 4*k ; B:k = 5*k; C:In realtà non può essere la traduzione di alcuna istruzione JAVA, poiché la terza IADD non trova sufficienti argomenti sullo Stack ; D:In realtà non può essere la traduzione di nessuna istruzione JAVA, poichè bisognerebbe mettere BIPUSH k al posto di ILOAD k ; E:k = k+k+k ; F:k = k^k ;
---------------- N.B.: Fra quelle proposte la risposta esatta è solo una !!!