EXERCICE2
Ouvrir un nouveau fichier de type « COM template » et saisir le code suivant :
ORG 100h
MOV AL,80h
MOV BL, 81h
ADD AL,BL
a) Enregistrer ce programme sous tp1exo2.asm, puis émuler
b) Exécuter le programme pas à pas et vérifier le contenu des registre et zone mémoire a cahque pas
c) Appuyer sur Flags pour voir les bits d’état à chaque pas
d) Interpréter les flags dans le cas de nombre signés et non signés
e) Refaire de même (a→d ) avec le programme suivant :
EXERCICE3
ORG 100h
MOV AL,F0h
MOV BL, 81h
SUB AL,BL
Saisir le code suivant dans un nouveau fichier Tp1exo3.asm
MOV [110h],80h
MOV SI,110h
ADD [SI], 7Fh
MOV AL, [SI]
a) Exécuter ce programme pas à pas et à chaque pas vérifier le contenu des registres, le nombre
d’octets des instructions , et le contenu des cases mémoire concernées ,puis lesflags
Pour voir le contenu de la mémoire [110h], appuyer sur AUX puis memory
Donner la valeur de AX a la f in du programme et expliquer cette valeur
b) Modifier la dernière instruction par MOV AX ,[SI] et donner le contenu de AX et expliquer
cette valeur
c) Modifier le programme comme suit
MOV word ptr [110h],80h
MOV SI,110h
ADD word ptr [SI], 7Fh
MOV AX, [SI]
d) Exécuter ce programme pas à pas et à chaque pas vérifier le contenu des registres, le nombre
d’octets des instructions , et le contenu des cases mémoire concernées , puis les flags
e) Refaire plusieurs exemples avec des valeurs différentes afin de vous familiariser avec l’emulateur
et les différents registres
EXERCICE4
Ecrire un programme qui fait la somme des deux nombres de l’exercice2 mais cette fois ci les nombres
seront déclares en tant que variables var1 var2
a) Donner le nombre d’ octets de chacune des instructions
b) Dans la « zone du code dèsassemble »à quoi correspont les adresses entre crochets qui suivent les
instructions : MOVAL , MOVBL
c) Quelles valeurs contiennent ces adresses . Que représente donc l’identifiant var1 et var2
d) Executer le programme pas a pas et donner à chaque pas les modifications des registres
e) Aller à « View Variable »pour voir les différentes variables utilisées . Modifier le contenu des
var1et var2 en appuyant sur Edit , et vérifier dans les adresses adéquates que la modification a bien
eu lieu