mnémonique | detail | action |
---|---|---|
stop | Arrête l’exécution du programme. | |
noop | N’effectue aucune opération. | |
saut i | Met le compteur ordinal à la valeur i. | PC ← i |
sautpos ri j | Si la valeur contenue dans le registre i est positive ou nulle, met le compteur ordinal à la valeur j. | si ri ≥ 0 PC ← j sinon PC ← PC+1 |
valeur x ri | Initialise le registre i avec la valeur x. | ri ← x |
lecture i rj | Charge, dans le registre j, le contenu de la mémoire d’adresse i. | rj ← men(i) |
lecture *ri rj | Charge, dans le registre j, le contenu de la mémoire dont l’adresse est la valeur du registre i. | rj ← men(ri) |
ecriture ri j | Écrit le contenu du registre i dans la mémoire d’adresse j. | ri → men(j) |
ecriture ri *rj | Écrit le contenu du registre i dans la mémoire dont l’adresse est la valeur du registre j. | ri → men(rj) |
inverse ri | Inverse le signe du contenu du registre i. | ri ← − ri |
add ri rj | Ajoute la valeur du registre i à celle du registre j. | rj ← ri + rj |
soustr ri rj | Soustrait la valeur du registre i à celle du registre j. | rj ← rj − ri |
mult, div, et | Même syntaxe que pour add et soustr mais pour la multiplication, la division entière et le et bit à bit. | rj ← rj (*, /, and) ri |
mnémonique | detail | actions |
---|---|---|
ecriture ri rj | Écrit le contenu du registre i dans le registre j. | rj ← ri |
sautnul ri j | Si la valeur contenue dans le registre i est nulle, met le compteur ordinal à la valeur j. | si ri = 0 PC ← j sinon PC ← PC+1 |
sautnonnul ri j | Si la valeur contenue dans le registre i est non nulle, met le compteur ordinal à la valeur j. | si ri ≠ 0 PC ← j sinon PC ← PC+1 |
add x ri | Ajoute x à celle du registre i. | ri ← ri + x |
mult, div,soustr | Même syntaxe que pour add mais pour la multiplication, la division entière et la soustraction. | rj ← rj (*, /, −) x |
appel i | Appel de sous-programme à l'adresse i | (PC+1) → mem(r7), PC ← i, r7 ← r7 − 1 |
retour | retour de procédure à l'appelant. | PC ← mem(r7) , r7 ← r7 + 1 |
empiler ri | Place la valeur contenue dans le registre i en haut de la pile (la même pile que pour les adresses). | ri → mem(r7) , r7 ← r7 − 1 |
depiler rj | Place la valeur en haut de la pile (la même pile que pour les adresses) dans le registre rj. | rj ← mem(r7) , r7 ← r7 + 1 |