Le jeu d’instructions de la machine MaP
© Nino Silverio 5
2.1 Les opérations arithmétiques
Ces instructions existent pour le type entier ainsi que pour le type
numérique. Ainsi, par exemple, une opération d’addition de deux
entiers se fait à l’aide de l’instruction ADDI, alors qu’une instruction
d’addition de deux numériques se fait avec l’instruction ADDN.
L’ensemble des instructions arithmétiques s’écrit : ADDI, SUBI,
MULTI, DIVI, NEGI, ADDN, SUBN, MULTN, DIVN, NEGN.
Les instructions arithmétiques effectuent des opérations de calcul sur
les mots mémoire situés au sommet de la pile d’exécution. Elles ne
nécessitent pas d’opérandes car ceux-ci doivent se trouver sur le
sommet de la pile. Le compteur ordinal est incrémenté d’une unité à
la fin de chacune de ces instructions.
Voici la signification de ces instructions:
ADDI les deux opérandes entiers au sommet de la pile sont
additionnés et remplacés par le résultat entier de l’addition. Le
pointeur de pile décroît d’une unité.
SUBI l’opérande entier au sommet de la pile est soustrait de
l’opérande juste en dessous du sommet. Ces deux opérandes sont
remplacés par le résultat entier de la soustraction. Le pointeur de pile
décroît d’une unité.
MULTI les deux opérandes entiers du sommet de la pile sont
multipliés et remplacés par le résultat entier de la multiplication. Le
pointeur de pile décroît d’une unité.
DIVI l’opérande entier juste en dessous du sommet de la pile est
divisé par l’opérande entier du sommet de la pile. Ces deux
opérandes sont remplacés par le résultat entier de la division. Le
pointeur de pile décroît d’une unité. Dans le cas où le diviseur vaut 0,
une erreur est détectée et l’exécution est arrêtée.
outn 45 outstr 46 paibp 47
pushc 48 pushi 49 pushn 50
ret 51 rstrbp 52 storec 53
storei 54 storen 55 subi 56
subn 57