1. Nel sistema a livelli che stiamo studiando, la componente Memoria Programmi (Method Area) della macchina IJVM e' realizzata:
A: direttamente in hardware con una RAM ad 8 bit ;
B: in software con un programma Mic-1 ;
C: con la Memoria dati a 8 bit di Mic-1 ;
D: con la Memoria programmi a 36 bit di Mic-1 ;
E: con la Memoria dati IJVM ;
F: ma cosa vai dicendo, la Method Area non e' la Memoria programmi di IJVM!!
2. Chi alloca lo spazio sullo Stack per le variabili locali?
A: L'istruzione INVOKEVIRTUAL ;
B: La domanda è completamente priva di senso ;
C: Lo Stack Allocator ;
D: Le istruzioni precedenti INVOKEVIRTUAL ;
E: Lo Stack Alligator ;
F: Le istruzioni precedenti IRETURN ;
G: Il Variable Stack Allocator ;
3. E' possibile che nel codice IJVM che corrisponde alla traduzione di un metodo JAVA con due argomenti e quattro variabili locali, sia presente la seguente istruzione?
ILOAD 5
A: No, perché non avrebbe alcun senso nel codice andare a prelevare dallo stack il quinto elemento sopra quello da LV ;
B: No, perché, poiché abbiamo due argomenti (più objref) e quattro variabili locali, bisognerebbe scrivere ILOAD 7 ;
C: Si, poiché con ILOAD leggiamo dallo stack il valore degli argomenti e delle variabili del metodo, che nel nostro caso saranno numerati da 1 a 6 ;
D: Si, poiché la prima istruzione del metodo JAVA da tradurre sarà sicuramente un'istruzione di inizializzazione ;
E: Si, poiche' con ILOAD inizializziamo i valori delle variabili locali del metodo con argomenti che possono andare da 0 a (2^8 - 1) ;
F: Mah, si, credo di si, perche' in fondo forse e'..cioe', non proprio cosi', anche se pero' si potrebbe ;
----------------
N.B.: Fra quelle proposte la risposta esatta è solo una !!!