Ed Langage Assembleur Corrige
Ed Langage Assembleur Corrige
Ed Langage Assembleur Corrige
LANGAGE MACHINE
CORRIGE
LOAD Im R1 6 R1 6
LOAD Im R0 0 R0 0
LOAD I RB 1024 RB 996
Boucle: LOAD B R2 4 R2 15, 45, 32, 1256, 253, 256
ADD Rg2 R0 R2 R0 R0 + R2 = 15, 60, 92,1348, 1601, 1857
ADD Im RB 4 RB RB + 4 = 1000, 1004,1008,1012, 1016,
1020
ADD D R1 1032 R1 R1 – 1 = 5, 4, 3, 2, 1, 0
JMPZ Fin NR, NR, NR, NR, NR, Rfin
JMP Boucle Rboucle, Rboucle, Rboucle, Rboucle, Rboucle
Fin STORE B R0 16 R0 (1036)
Ce programme additionne les contenus des cases mémoires 1000 à1020 et stocke le résultat final à
l’adresse 1036.
Exercice 3
Q1/ deux accès mémoire
Q2/ FAUX, il contient l’adresse de la prochaine instruction à exécuter
Q3/ 4 Mmots de 32 bits = 22 * 220 * 22 octets = 224 octets, donc au minimum 24 bits.
1
Architecture des machines NFA004 2014/2015 Joëlle Delacroix
Question 1
LOAD D R1 A
LOAD D R2 B
ADD Im R2 6
MUL Im R1 5
ADD Rg2 R1 R2
STORE D R1 B
Question 2
Ce petit programme consiste en une boucle qui ajoute la valeur 1 au contenu du registre R1. A
chaque ajout de 1, un test sur l'occurrence d'un overflow est réalisé (instruction JMPO 20). Si un
overflow a été détecté, le programme sort de la boucle d'ajout de 1 et va enregistrer le contenu de
R1 à l'adresse indirecte 0=(24)). Comme la machine travaille en complément à 2 sur 32 bits, le
plus grand nombre positif représentable est 231 – 1 soit 2147483847. On en déduit qu'il faudra ici
8 tours de boucle pour sortir en overflow.
Exercice 5.
Question 1.
2
Architecture des machines NFA004 2014/2015 Joëlle Delacroix
Question 2.
A/ Les indicateurs S, C, O, Z permettent de positionner les propriétés du dernier calcul réalisé par l’UAL.
Ainsi S permet d’indiquer si le résultat produit par l’UAL est positif (≥0) ou négatif, O permet d’indiquer
l’occurrence d’un dépassement de capacité, C d’un carry. Enfin Z permet d’indiquer si le résultat produit
par l’UAL est nul ou non.
S C O Z
0 1 0 1
C/. Lors de l’exécution du programme, l’instruction ADD Rg2 R2 R1 effectue l’opération – 128+ (– 1).
Le résultat de cette opération est (-129)10. Les nombres étant codés selon la convention en
complément à 2 sur 8 bits, un overflow est généré car l'intervalle de représentation est [-128 ; +127].
S C O Z
0 1 1 0
3
Architecture des machines NFA004 2014/2015 Joëlle Delacroix
Question 3.
A:
B :
IN D A
LOAD Im R1 -1
LOAD D R2 A
JMP Addition
Fin STORE D R2 A
STOP
Addition ADD Rg2 R2 R1
JMPO Overflow
JMP Fin
Overflow STORE D R2 B
STOP