Supprimer filigrane Wondershare
PDFelement
Dans le tableau ci-dessous, qui donne la description et le format de chaque instruction, i et j prennent les valeurs 1, 2, ..., ou 8
selon les numéros des registres visés. Les entrées-sorties sont effectuées exclusivement sur le terminal (clavier pour les entrées,
écran pour les sorties). Chaque instruction est codée sur quatre octets. Les constantes et les adresses sont codées sur deux octets.
Instruction Rôle Format Codage Résultat
Fin Fin de programme END 00 Le programme se termine
Addition Addition d’un registre et ADDC r, c 01ic r est additionné à la constante c, et le résultat est stocké
d’une constante dans RR
Addition de deux ADDR r, r’ 02ij r est additionné à r’, et le résultat est stocké dans le
registres registre RR
Addition d’un registre et ADDV r, v 03ia r est additionné à v, et le résultat est stocké dans
d’une variable
RR, sachant que a désigne l’adresse de v
Soustraction Soustraction d’un registre SUBC r, c 04ia La constante c est soustraite de r, et le résultat est stocké
et avec une constante dans le registre RR
Soustraction de deux SUBR r, r’ 05ij r’ est soustrait de r, et le résultat est stocké dans le registre
registres RR
Soustraction d’un SUBV r, v 06ia v est soustrait de r, et le résultat est stocké dans le
registre et d’une
registre RR, sachant que a désigne l’adresse de v
variable
Multiplication Multiplication d’un MULC r, c 07ia r est multiplié avec la constante c, et le résultat est
registre avec une stocké dans RR
constante
Multiplication de deux MULR r, r’ 08ij r est multiplié à r’, et le résultat est stocké dans le registre
registres RR
Multiplication d’un MULV r, v 09ia v est multiplié à r, et le résultat est stocké dans le
registre et d’une registre RR, sachant que a désigne l’adresse de v
variable
Division Division d’un registre avec DIVC r, c 10ia r est divisé par la constante c, et le résultat est stocké dans
une constante RR
Division de deux DIVR r, r’ 11ij r est divisé par r’, et le résultat est stocké dans le registre
registres RR
Division d’un registre par DIVV r, v 12ia r est divisé par v, et le résultat est stocké dans le
une variable
registre RR, sachant que a désigne l’adresse de v
Supprimer filigrane Wondershare
PDFelement
Comparaison Compare deux registres CMP r, r’ 13ij compare deux registres r et r’. Le résultat est stocké dans
le registre RR qui contiendra :
• 0 si r est égal à r’
• 1 si r > r’
• 2 si r < r’
Chargement Chargement de registre LDC r, c 14ic la constante c est stockée dans le registre r
avec une constante
d’un registre
Chargement de registre LDR r, r’ 15ij le contenu du registre j est copié dans le registre i
avec le contenu d’un
autre registre
Chargement de registre LDV r, v 16ia le contenu de v est chargé dans le registre r,
avec le contenu d’une
sachant que a désigne l’adresse de v
variable
Chargement du registre r LDAR r, v 17ia l’adresse de la variable v est copiée dans le registre r,
avec l’adresse d’une sachant que a désigne l’adresse de la variable v
variable
Chargement du registre r LDRA r, r’ 18ij le contenu de la zone mémoire pointée par r’ est chargé
avec la valeur contenue dans le registre r
dans la zone mémoire
pointée par un
autre registre r’
Charge RR avec le LDRR r 19i le contenu du registre r est copié dans RR
contenu d’un registre
Chargement de registre LDRX r 20i le contenu de RR est copié dans le registre r
avec le contenu de RR
Chargement du registre RR LDRV v 21a le contenu de la variable v d’adresse a est copié dans RR
avec le contenu
d’une variable
Stockage Stocke le contenu d’un STV r, v 22ia le contenu du registre r est stocké dans la variable
registre dans une v, sachant que a désigne l’adresse de v
variable
Stocke le contenu d’un STA r, r’ 23ij le contenu du registre r est stocké dans la zone
registre dans la zone mémoire dont l’adresse est contenue dans r’
mémoire pointée par un
autre registre r’
Stocke le contenu de STRV v 24a le contenu RR est stocké dans la zone mémoire v
RR dans une variable dont l’adresse a
Supprimer filigrane Wondershare
PDFelement
Appel de foncti on CALL f 25a exécute la fonction f, sachant que a désigne l’adresse de
la 1ère instruction de f
Branchement Branchement JMP e 26a rupture de séquence pour continuer l’exécution à
inconditionnel l’étiquette e, sachant que a désigne l’adresse l’instruction
e
Branchement conditionnel BRE e 27a rupture de séquence pour continuer l’exécution à
l’étiquette e si RR vaut 0, sachant que a désigne l’adresse
l’instruction e
BRG e 28a Rupture de séquence pour continuer l’exécution à
l’étiquette e si RR vaut 1, sachant que a désigne l’adresse
l’instruction e
BRL e 29a rupture de séquence pour continuer l’exécution à
l’étiquette e si RR vaut 2, sachant que a désigne l’adresse
l’instruction e
Entrée-sortie Lecture d’un caractère au IN r 30i lit un caractère ASCII au clavier et le stocke dans le
clavier registre r
Ecriture d’un caractère à OUT r 31i écrit à l’écran un caractère ASCII contenu dans le registre
l’écran r