Vous êtes sur la page 1sur 2

Test ( Durée 1h, documents autorisés)

Question de cours

Effectuez l'opération d'addition ( simple précision) des deux réels suivants en respectant la
norme IEEE 754: 103,45 + 1,0345

Exercice

On désire connaître le rôle du programme ci-dessus, écrit en assembleur INTEL 80x86.

ORG 0100h
jmp label1
data DB 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17
DB 18,19,20,21,22,23,2425,26,27,28,29,30
label1: mov bp,0200h
label2: mov sp,011fh
label3: push bp
label4: mov bp,sp
label5: sub sp,4
label6: push [bp+4]
label7: push 02h
label8: push 05h
label9: call ma_fonction
label10: mov cx,dx
label11: mov dx,ax
label12: mov ax,cx
label13: pop bp
label14: ret
ma_fonction proc near
push bp
mov bp,sp
mov ax, [bp+6]
mov bx,[bp+4]
mul bx
mov [bp+8],dx
mov [bp+10],ax
pop bp
ret
ma_fonction endp
1. Quelle est l'adresse de l'instruction jmp label1 ?
2. A quelle adresse se trouve l'étiquette label1 ?

Page 1 sur 2
3. Donner le résultat de l'exécution des instructions comprises entre les adresses label1 et
label8.
4. Quels sont les contenus des registres SP et BP une fois que l'instruction push 05h est
exécutée ? y a-t-il des changements dans le tableau data ? si oui lesquels ?
5. Expliquer le rôle des instructions push 02h et push 05h.
6. Donner le résultat de l'exécution des instructions à partir de call ma_fonction .
7. Quel est le contenu du tableau data après la fin de l'exécution de tout le programme ?.

Page 2 sur 2

Vous aimerez peut-être aussi