cerca
Programma Mixal Commentato
modifica cronologia stampa login logout

Wiki

UniCrema


Materie per semestre

Materie per anno

Materie per laurea


Help

Uni.ProgrammaMixalCommentato History

Hide minor edits - Show changes to output

September 19, 2009, at 10:51 AM by MINCULPOP - spostata pagina originariamente chiamata "link"
Added lines 1-29:
(:title Programma Mixal Commentato:)
[[Torna alla pagina di Programmazione degli Elaboratori -> Uni.ProgrammazioneElaboratori]]
----

%titolo%''':: Programma Mixal Commentato ::'''

Il codice é:


[@ORIG 1000
CELLA CON 10
ENTA CELLA
SRA 1
STA CELLA(0:2)
HLT
END CELLA+1@]

Il significato di questo programma è:\\

*il programma inizia dalla cella 1000;
*scrive nella posizione corrente il valore 10 e viene etichettata (tale locazione) con il nome CELLA. Contenuto attuale di CELLA: “+00 00 00 00 10”;
*ENTA CELLA: trasferisci l'indirizzo di cella nel registro rA (rA ← M). C'è da tradurre in linguaggio macchina ENTA CELLA per poter costruire l'M da portare in rA. Il codice operativo di ENTA è 48 (lo scriveremo nella specifica di campo (5:5), il mod di ENTA è 2, il quale andrà scritto nella specifica di campo (4:4) (tali valori, il mod e la specifica di campo sono presi dalla tabella del cap.2), l'indirizzo dell'operando CELLA è 1000, che scritto nella potenza di 64 è dato da 15*64 + 40 (il quale andrà scritto nella specifica di campo (0:2). Il risultato è che la traduzione di ENTA CELLA è data da: “+15 40 00 02 48”. Perfetto, ora possiamo costruire l'M (ottenuto come la somma dell'indirizzo + registro indice): ADDRESS: “+15 40” INDEX: “00”, risultato è che M=”+15 40”;
*come effetto dell'istruzione ENTA CELLA in rA avremo “+00 00 00 15 40”;
*l'istruzione SRA 1 avrà come effetto (sul registro rA) un slittamento a destra di un byte. Dunque il nuovo contenuto di rA sarà: “+00 00 00 00 15”;
*L'istruzione STA CELLA(0:2) ci dice di scrivere nella locazione cella (e più precisamente nel campo (0:2)) il contenuto del registro rA (data al specifica di campo prenderemo solo i due byte di rA, quindi gli ultimi due);
*Come effetto di tutto ciò avremo che in CELLA ora ci sarà scritto: “+00 15 00 00 10”.

----
[[Torna alla pagina di Programmazione degli Elaboratori -> Uni.ProgrammazioneElaboratori]]