cerca
Programma Mixal Commentato
modifica cronologia stampa login logout

Wiki

UniCrema


Materie per semestre

Materie per anno

Materie per laurea


Help

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