0% ont trouvé ce document utile (0 vote)
61 vues3 pages

TP 1

Le document présente plusieurs exercices d'assembleur, incluant des questions à choix multiples sur les instructions et le comportement des registres. Il demande également de tracer des programmes en assembleur pour effectuer des opérations arithmétiques, manipuler des variables et afficher des résultats. Les exercices couvrent des concepts tels que la mémoire, les registres, les opérations de multiplication et de division, ainsi que le calcul de la factorielle.

Transféré par

arij.bezi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
61 vues3 pages

TP 1

Le document présente plusieurs exercices d'assembleur, incluant des questions à choix multiples sur les instructions et le comportement des registres. Il demande également de tracer des programmes en assembleur pour effectuer des opérations arithmétiques, manipuler des variables et afficher des résultats. Les exercices couvrent des concepts tels que la mémoire, les registres, les opérations de multiplication et de division, ainsi que le calcul de la factorielle.

Transféré par

arij.bezi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

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.

Vous aimerez peut-être aussi