Architettura Degli Elaboratori
Corso (A-L)
- Test in Itinere n. 9 -
Nome e Cognome: ______________________________________________________________
Matricola: _____________________________
1. Si consideri il seguente metodo assembly IJVM che lavora su due numeri naturali.
| .method X (n,m) |
| |
|
| |
ILOAD m |
| |
IFEQ end |
| |
LDC_W objref |
| |
ILOAD n |
| |
LDC_W objref |
| |
ILOAD n |
| |
ILOAD m |
| |
BIPUSH 1 |
| |
ISUB |
| |
INVOKEVIRTUAL X |
| |
INVOKEVIRTUAL mult |
| |
IRETURN |
| |
end |
BIPUSH 1 |
| |
IRETURN |
| |
|
| .end-method |
Che cosa calcola X ?
A:Il fattoriale di n ;
B:Il fattoriale di n*m ;
C:La funzione esponente (n^m) ;
D:Il fattoriale di m ;
E:Il prodotto n*m ;
F:Il numero di giorni di studio in piu' che dobbiamo fare quando su n prove in itinere rispondiamo mediamente solo ad n quesiti ;
2. Quando si traduce il seguente codice assembly IJVM per poi inserirlo nella Method Area per l'esecuzione, qual e' il valore dei primi 4 byte di cio' che si carica nella Method Area?
| .method perepe (x,y,z) |
| |
.var |
| |
|
count |
| |
.end var |
| |
|
| |
ILOAD x |
| |
ISTORE count |
| |
BIPUSH 3 |
| |
IRETURN |
| |
|
| .end-method |
A: 0x00 0x04 0x00 0x01 ;
B: 0x00 0x03 0x00 0x01 ;
C: 0x00 0x01 0x00 0x03 ;
D: La rappresentazione binaria del codice operativo ILOAD, seguita da 0x01, seguito dalla rappresentazione binaria di ISTORE, seguita da 0x03 ;
E: Nulla! non si puo' tradurre tale codice assembly, poiche' in realta' restituisce sempre 3 e gli argomenti non vengono realmente utilizzati ;
3. Consideriamo la seguente istruzione IJVM:
Il valore -46 é :
A: L' indirizzo in cui é memorizzata l'istruzione IJVM a cui saltare ;
B: La distanza in byte tra il byte che contiene il codice operativo (opcode) GOTO e quello che contiene il codice operativo dell'istruzione a cui saltare ;
C: La distanza in istruzioni tra l'istruzione GOTO -46 e quella a cui saltare ;
D: In realtà l'istruzione é sbagliata: GOTO non può avere un argomento negativo ;
E: Il valore da sommare ad LV per calcolare l'elemento dello Stack che contiene l'istruzione a cui saltare ;
F: Il valore da sommare a PC per calcolare l'elemento dello Stack che contiene l'istruzione a cui saltare ;
G: Un apostrofo rosa tra le parole "non lo so" ;
----------------
N.B.: Fra quelle proposte la risposta esatta è solo una !!!