Académique Documents
Professionnel Documents
Culture Documents
Arithmétique :
“prendre la valeur située à l’adresse mémoire 487 et la placer dans la registre R2”
Les registres : très petits, peu nombreux (8, 13, 17 rarement plus). Ils
permettent de stocker un “mot”,
La mémoire vive (généralement abrégée en “Mémoire”) : c’est la RAM, elle
est plus vaste, moins rapide et chaque emplacement dispose d’une adresse
numérique.
On déplace vers un registre (soit une valeur littérale, soit la valeur d’un autre
registre).
Rupture de séquence:
Séquence d’instruction
orencontrer un bug,
orencontrer HALT,
orencontrer une rupture de séquence,
oRupture de séquence (ou saut, branchement) :
Assembler :
Transformer ces codes mnémoniques en langage machine.
ADD R1,R2,#125 —> 11100010100000100001000001111101
Présentation d’un langage assembleur par l’exemple :
Déplacements :
Saut “Plus grand” BGT 78 Si le dernier CMP est plus grand, saute à l’adresse 78
Saut “Plus petit” BLT 78 Si le dernier CMP est plus petit, saute à l’adresse 78
Exemple : Exercice:
ADD R0, R1, #42 Écrire les instructions en assembleur correspondant à :
Les instructions assembleur B, BEQ, BNE, BGT et BLT n’utilisent pas directement
l’adresse mémoire de la prochaine instruction à exécuter, mais des “labels”.
MOV R0, #4
x=4 MOV R1, #8
CMP R0, #10
y=8 BNE else
if x == 10: MOV R1, #9
y=9 B endif
else: else:
x = x+1 ADD R0, R0, #1
B endif
z=6 endif:
MOV R0, #6
HALT