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 markup

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


 :: 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