Corsi di Laurea
ROX @ Unisa - Forum degli studenti di Ingegneria utilizza i cookie. Se prosegui la navigazione accetti il loro uso.
Accetto l'uso dei cookie
Esercizio relativo al processore Motorola:
dbgt R1, label
Fase di prelievo
ciclo 0: PCout, MARin, read, select4, add, Zin;
ciclo 1: Zout, PCin, Vin, WMFC;
ciclo 2: MDRout, IRin;
Fase di decodifica ed esecuzione
ciclo 3: offset_field_of IRout, select V, add, Zin, if (Z v (N OResclusivoV) = 1) then end;
Fase di scrittura del risultato
ciclo 4: Zout, PCin, end;
E questo è fatto, però non riesco a fare l'altro sempre relativo al Motorola, tra l'altro non ricordo nemmeno cosa fa l'istruzione:
add (PC,R1), R2
Qualcuna che mi aiuta?
dbgt R1, label
Fase di prelievo dell'istruzione
ciclo 0: PCout, MARin, Vin, select 4, read, add #invia l'ordine di lettura in memoria e incrementa PC
ciclo 1: Zout, PCin, Vin, WMFC #il nuovo valore viene salvato in PC e nel registro V e si mette in attesa che arrivi il dato richiesto alla memoria
ciclo 2: MDRout, IRin #l'istruzione viene raccolta e inserita nel registro IR
Fase di decodifica ed esecuzione
ciclo 3: R1out, select V, sub, if (Z v (NoresclusivoV)) = 0 then end # sottrae [PC] a [R1] e se il valore ottenuto è <= 0 continua, altrimenti va all'istruzione successiva
ciclo 4: R1out, select 1, sub #decrementa R1
ciclo 5: R1in, Zout, select 1, add, if (Z=1) then end #salva il risultato in R1 e se [R1] = -1 va all'istruzione successiva
ciclo 6: select V, OFFSET_FIELD_OFIRout, add #somma [PC] alla label
Fase di scrittura del risultato
ciclo 7: PCin, Zout, end
dbgt R1, label
Fase di decodifica ed esecuzione
ciclo 3: OFFSET_FIELD_OFIRout, Vin
ciclo 4: R1out, select V, sub, if (Z v (NoresclusivoV)) = 0 then end # sottrae label a [R1] e se il valore ottenuto è <= 0 continua, altrimenti va all'istruzione successiva
ciclo 5: R1out, select 1, sub #decrementa R1
ciclo 6: R1in, Zout, select 1, add, if (Z=1) then end #salva il risultato in R1 e se [R1] = -1 va all'istruzione successiva
ciclo 7: select V, PCout, add #somma [PC] alla label
Fase di scrittura del risultato
ciclo 8: PCin, Zout, end
add (PC, R1), R2
Fase di prelievo dell'istruzione
ciclo 0: PCout, MARin, Vin, select 4, read, add #invia l'ordine di lettura in memoria e incrementa PC
ciclo 1: Zout, PCin, Vin, WMFC #il nuovo valore viene salvato in PC e nel registro V e si mette in attesa che arrivi il dato richiesto alla memoria
ciclo 2: MDRout, IRin #l'istruzione viene raccolta e inserita nel registro IR
Fase di decodifica ed esecuzione
ciclo 3: R1out, select V, add #somma [R1] a [PC]
ciclo 4: Zout, MARin, read, WMFC #invia l'ordine di lettura in memoria e attendi il riscontro
ciclo 5: MDRout, Vin #il dato preso dalla memoria viene salvato nel registro Vin
ciclo 6: R2out, select V, add #somma il valore in Vin con [R2]
Fase di scrittura del risultato
ciclo 7: Zout, R2in, end #il risultato viene scritto in R2
0 utenti, 1 ospiti, 0 utenti anonimi