Vous êtes sur la page 1sur 7

Compte rendu TP2 :

Instructions et modes d’adressage en


8086

Réalisé par :

DIARI Balkis
FARHANI Maher
IE4
Objectif :
L’objectif de ce TP est de travailler avec le logiciel Emu8086 , faire le jeu
d’instructions ainsi que de s’entrainer sur les modes d’adressage.

I. Etude théorique :
Dans microprocesseur 8086 ,un registre est de 16 bits , alors que un mot
de la mémoire est de 20bits , donc la forme des mots de la mémoires
n’est pas adéquate avec les registres .
 Pour cette raison :
Adresse physique = 16*registre segment + déplacement
 Adresse physique = décalage de 1 digit dans le poids le plus faible +
offset

1- 3500 : AB00
 35000+AB00 = 3FB00 : c’est l’adresse physique sur 5 digit, c’est
l’adresse réelle
2- 0022 : FFFF
 00220 + FFFF = 1021F
3- 2000 : 0350
 20000+0350 = 20350
4- 4055 :3192
 40550 + 3192 = 436E2
Adresse physique
3500 : AB00 3FB00
0022 : FFFF 1021F
2000 : 0350 20350
4055 :3192 436E2

II. Opérations en 8086 :


1-On va exécuter le code suivant :
MOV AX,05h
MOV BX, 15h
ADD AX,BX
Opération réalisée Registres modifiés résultat Registre du résultat
MOV AX,05h AX , IP AX=05 AX

MOV BX, 15h BX , IP BX= 15 BX

ADD AX,BX AX AX=05+15=1A AX

5-

On va exécuter le code suivant :

MOV AX, 195h

MOV BX, 911h

ADD AX, BX
Opération réalisée Registres modifiés résultat Registre du résultat
MOV AX, 195h AX , IF AX= 195 AX

MOV BX, 911h BX , IF BX = 911 BX

ADD AX, BX AX AX= 0AA6 AX

7-

On va exécuter le code suivant :

MOV AX, 195h

ADD AL, 02
Opération réalisée Registres modifiés résultat Registre du résultat
MOV AX, 195h AX AX=195 AX

ADD AL, 02 AL , SF Al= 95+02 =97 AL

Seulement Le contenu de AL sera additionne par 2.


9-

MOV AX, 1002h

MOV BH, 02h

SUB AX, BX

SUB AH, 03h

MUL BH

Instruction Modification apportée Explication


MOV AX, 1002h AX =1002 Charger la valeur 1002
en hexadécimale dans
le registre AX
MOV BH, 02h BH =02 Charger la valeur 02 en
hexadécimale dans le
registre BX
SUB AX, BX AX = 10E02 Soustraire AX par BX :
en premier je cherche le
complément à 2 de BX
puis l’additionner avec
AX et mettre le résultat
dans AX.
SUB AH, 03h AH= 0B AH = 0E
On va soustraire la
valeur 03 de 0E
MUL BH AX=AL*BH On va multiplier AL ET
BH et le résultat sera
remettre dans AX

11-

Nombre dw ?

MOV AX, 04h

MOV nombre, 05h


MUL nombre

12 le nombre présent une donnée de type data word (16 bit), c’est une variable
dans la case m mémoire

13- nombre 05h

AX 04h

MUL nombre : on va multiplier 05h par AL=04h et le résultat sera déplacé dans
AX.

0000 0101

0000 1000

0000 0000

0000 0000.

000 1 0100. .

0001 0100 =20

Le résultat est égal à 20.

14-

Division (deux registres) Division (un registre et un variable)


MOV AX, 10h Nombre dw
MOV BL, 02h MOV AX, 14h
SUB AX, BX MOV nombre, 05h
SUB AH, 03h Div nombre
DIV BL
REPONSE/ AX 14h
AX 1111h nombre 05h
BL 02H
AX AX + complément à 2 de BX, AX=14h nombre=05h
AX=9Eh
AH 03H AH=0 AL=4
AX=9Eh BL=02h

AH=0 AL=79
III. Les modes d’adressage :
Partie A :
Instruction Mode D’adressage Résultat
MOV [100h], 10h Adressage indirect [100h] 10h
MOV [101h], 11h Adressage indirect [101h] 11h
MOV [102h], 12h Adressage indirect [102h] 12h
MOV [103h], 13h Adressage indirect [103h] 13h
MOV [104h], 14h Adressage indirect [104h] 14h
MOV [107h], 17h Adressage indirect [107h] 17h
MOV AX, 100h Adressage immédiat AX 100h
MOV BX, AX Adressage Registre BX 100h
MOV CX, BX Adressage Registre CX 100h
MOV DL, CH Adressage Registre DL 01h
MOV DH, [100h] Adressage direct DH 10h
MOV CX, [102h] Adressage direct CX 12h
MOV BX, 103h Adressage immédiat BX 103h
MOV BP, 103h Adressage basé BP 103h
MOV DL, [BX] Adressage basé DL 13h
MOV DL, [BP] Adressage basé DL 13h
MOV DH, [BX]+4 Adressage basé avec DH 17h
déplacement
MOV DH, [BP]+4 Adressage basé avec DH 17h
déplacement
MOV SI, 4 Adressage immédiat SI 4
HLT

Partie B :
MOV DL, 30h DL 30H
MOV AH, 02h AH 02H
Encore: MOV AH, 02h AH 02H
INT 21h Cette fonction permet de mettre fin au programme
INC DL DL DL+1=31h
CMP DL, 3Ah comparer DL par 3Ah
JNE encore jump si DL et 3Ah sont égaux.
Ce programme permet de comparer chaque Foix DL par 3Ah dans le cas où DL
ET 3Ah sont égaux le programme se fait un saut d’un boucle jusqu’à LES deux
sont différents.

Partie c :
Mov AX,55h AX 55H

Mov BX, 88h BX 88H

Mov DX, AX DX 55H

Mov CX, BX CX 88H

ADD AL, BL AL AL+BL = 55h+88h = DDH

MUL BL AX/BL LE quotient égale à AL et le reste égale à AH.

AX=55h BL=88h

AL

AH

Conclusion :

Dans ce tp nous avons étudié le calcul d’adresse physique à partir


d’adresse logique et l’offset et maitriser les différents types
d’adressage.

Vous aimerez peut-être aussi