TP1
Exercice 1
* Veuillez choisir la bonne réponse :
1. L’instruction mov ax, bx (format asm)
a. Déplace le contenu de ax vers bx
b. Déplace le contenu de bx vers ax
c. Copie le contenu de ax vers bx
d. Copie le contenu de bx vers ax
2. Après avoir exécuté :
mov ax, 0x1234
mov al, 0x00
Le registre ax contient la valeur :
a. 0x1230
b. 0x1204
c. 0x1200
3. L’instruction mov al, nbr1 permet de :
a. copier la valeur correspondante à l’étiquette nbr1 dans le registre al
b. copier la valeur contenue à l’adresse de l’étiquette nbr1 dans al
c. copier la valeur du registre nbr1 dans le registre al
4. Soit le programme assembleur suivant :
v1 db 5Fh
v2 db 62h
Begin
Mov al,v1
add al,v2
Mov v2,al
End
Choisir la bonne réponse :
a) v2=BF
b) v2=C1h
c) v2=55H
Exercice 2
Soit le programme en assembleur ci-dessous. Tracer le programme en donnant le contenu de
la mémoire et des registres (AX, BX, CX, DX ) du µP 8086 à chaque ligne du code.
MOV BX , 4000h
MOV AX , 2233h
MOV [BX] , AX
MOV word [BX+2] , 4455h
MOV byte [BX+4] , 66h
MOV byte [BX+5] , 33
Exercice 3
1. Proposer l’organigramme et écrivez un programme en assembleur qui fait la somme de 2
variables de type mot (déclarées et initialisées à des constantes) et qui affiche le résultat dans
un message
2. Afficher la division et la multiplication de deux variables précédentes.
3. Donner le comportement des registres généraux, registres pointeurs et les registres
d’indexes.
Exercice 4
Tracer le programme en assembleur suivant, en indiquant à chaque ligne le contenu du
registre affecté ainsi que la valeur des indicateurs C et O du registre d’état.
MOV AL , 64h
MOV BL , 2
MUL BL
MOV AL , 64h
MOV CL , 3
IMUL CL
AND AL , CL
Exercice 5 : Programmes assembleur
1. Écrivez un bout de code qui calcule 5*5*5 et stocke le résultat dans ax.
2. Écrivez un bout de code qui multiplie les nombres 1, 2, 3, 4, 5 et stocke le
résultat dans ax.
3. Étant donné trois nombres a=4, b=7, c=70. Écrivez un code qui calcule
leur moyenne (a + b + c) / 3 et le stocke dans ax.
4. Écrivez un code qui calcule :
a) eax ^ 2 + ebx * 5
Exercice 4
Ecrire un programme en assembleur x8086 :
1. Entrer un entier n
2. Calculer la factorielle de n
3. Calculer la puissance de n avec un entier donné constant.