Architettura Degli Elaboratori
- Test in Itinere n. 13 -
Nome e Cognome: ______________________________________________________________
Matricola: _____________________________
1. Si supponga di avere un'istruzione che reperisce il suo unico argomento nel seguente modo: recupera i bit dell'istruzione
che non appartengono al codice operativo, prendi il primo numero primo maggiore del numero naturale rappresentato da quei
bit, vai nella memoria a quell'indirizzo, se il numero contenuto è pari prendi il contenuto della locazione 4, altrimenti
quello della locazione 245. Quella descritta si può considerare una Modalità di Indirizzamento?
A:
In linea di principio si ;
B:
Seeee, figuriamoci ;
C:
No, le uniche modalità di indirizzamento
possibili sono: Immediata, Diretta, Registro, Indiretta-registro, Indicizzata,
Indicizzata con base, Stack ;
D:
Si, ma solo se le locazioni considerate alla fine non siano valori costanti (4, 245) ;
E:
nel registro specificato nella locazione il cui indirizzo è contenuto nella locazione il
cui indirizzo è specificato nell'istruzione ;
F:
Nella casetta dei tre porcellini ;
2. Usando l'indirizzamento Register Indirect (Indirizzamento indiretto dei registri) il valore su cui opera
l'istruzione si trova:
A:
nella memoria, nella locazione il cui indirizzo è contenuto nel registro specificato
nell'istruzione ;
B:
nel registro specificato nella locazione il cui indirizzo è specificato nell'istruzione ;
C: L'argomento non si trova lui, lo troviamo noi, basta cercarlo bene ;
D:
nella memoria nella locazione il cui indirizzo è contenuto nella locazione il cui indirizzo
è specificato nell'istruzione ;
E:
nel registro specificato nella locazione il cui indirizzo è contenuto nella locazione il cui
indirizzo è specificato nell'istruzione ;
F:
Nella casetta dei tre porcellini ;
3. Abbiamo un vettore memorizzato in memoria a partire dall'indirizzo A. Ogni suo elemento
è rappresentato con 4 byte. Ri indica la modalità di indirizzamento registro, X(Ri) quella
indicizzata, #n quella immediata. Le parole sono lunghe 4 byte e l'indirizzamento è al byte
(l'indirizzo di una parola è quello del suo primo byte). MOV sposta nella locazione a cui fa
riferimento il primo argomento la parola a cui fa riferimento il secondo. ADD pone nella locazione
a cui fa riferimento il primo argomento la somma delle parole a cui fanno riferimento il primo
e secondo argomento. JUMPIFLTWELVE salta all'etichetta specificata se il valore nella locazione
a cui fa riferimento il primo argomento è minore di 12.
Cosa fa il seguente frammento di codice?
|
|
MOV R1, #0
|
|
|
MOV R2, #0
|
| LOOP |
ADD R1, A(R2)
|
|
|
ADD R2, #4
|
|
|
JUMPIFLTWELVE R2, LOOP
|
A:
Ma faccia un pò quel che vuole, è l'ultima lezione e ho il cervello in pappa ;
B:
Somma i primi dodici elementi del vettore, il risultato è posto nel registro R1 ;
C:
Fa l'AND bit a bit dei primi elementi del vettore e pone il risultato nel registro R2 ;
D:
Somma i primi 40 elementi del vettore, il risultato è posto nel registro R2 ;
E:
Somma il valore del registro R1 a quello del registro R2 e lascia il risultato in R2 ;
F:
Non si sa, poiché l'istruzione JUMPIFLTWELVE non è un'istruzione IJVM ;
G:
Somma i primi 3 elementi del vettore, il risultato è posto nel registro R1 ;
----------------
N.B.: Fra quelle proposte la risposta esatta è solo una !!!