Sei sulla pagina 1di 11

Lezione 3 - Linguaggio R.A.M.

Insegnamento di Algoritmi
Docente: Massimiliano Goldwurm

Corso di laurea triennale in Matematica


Università degli Studi di Milano

Insegnamento di Algoritmi Docente: Massimiliano Goldwurm Lezione 3 - Linguaggio R.A.M.


Macchina R.A.M.

· · · · · ·
6

lc Programma R0
I1 R1
I2 R2
-
·· ··
·
Im Rk ··
·

?
· · · · · ·

Insegnamento di Algoritmi Docente: Massimiliano Goldwurm Lezione 3 - Linguaggio R.A.M.


Linguaggio RAM
I istruzioni di I/O (nastri - memoria),
I operazioni aritmetiche su interi (+, −, ×, ÷),
I copia dati tra i registri della memoria,
I istruzioni di salto (condizionato e non, if ... go to).
Memoria
I infiniti registri R0 , R1 , . . . , Rk , . . .,
I ogni Rk contiene un intero x ∈ Z (di dimensione arbitraria),
I inizialmente ogni Rk contiene 0,
I R0 accumulatore (per le op. aritmetiche),
I registri usati = risorsa spazio (nastri di I/O sono esclusi).

Insegnamento di Algoritmi Docente: Massimiliano Goldwurm Lezione 3 - Linguaggio R.A.M.


Linguaggio RAM

Sintassi informale
I Programma = sequenza finita di istruzioni
P = (ist1 , ist2 , . . . , istm )

 operando
I Istruzione = Codice + oppure
etichetta

I Operandi :
=i intero i ∈ Z,
i contenuto del registro Ri con i ∈ N,
∗i contenuto del registro Rj
dove j e’ il contenuto del registro Ri
con i, j ∈ N.
I Etichetta = identifica una istruzione di P (indice)

Insegnamento di Algoritmi Docente: Massimiliano Goldwurm Lezione 3 - Linguaggio R.A.M.


Codici

Codice di operazione Indirizzo


LOAD operando
STORE ”
ADD ”
SUB ”
MULT ”
DIV ”
READ ”
WRITE ”
JUMP etichetta
JGTZ ”
JZERO ”
JBLANK ”
HALT

Insegnamento di Algoritmi Docente: Massimiliano Goldwurm Lezione 3 - Linguaggio R.A.M.

Potrebbero piacerti anche