Académique Documents
Professionnel Documents
Culture Documents
h.semlali@uca.ma
1. Caractéristiques du 8086 :
- 24 modes d’adressage ;
- Opérations sur des bits, des octets, des mots et des chaines de caractères ;
2 24/05/2022
1
24/05/2022
Registres
De calcul
Registres
d’adressage
Registre d’état
3 24/05/2022
- L’UAL ;
- Le pointeur d’instructions.
4 24/05/2022
2
24/05/2022
- Extraire les codes des instructions à partir de la file d’attente et les exécuter ;
parallèle. Cette procédure est appelée mode pipe-line (pendant que l’EU
exécute les informations qui lui sont transmises, l’instruction suivante est
6 24/05/2022
3
24/05/2022
8 bits (octet)
00000
00001
FFFFE
FFFFF
7 24/05/2022
Le microprocesseur Intel 8086 manipule des données sur 8 bits et sur 16 bits :
- Pour accéder à une donnée sur 8 bits, il suffit de donner son adresse sur
20 bits ;
8 24/05/2022
4
24/05/2022
9 24/05/2022
Ce sont les registres AX, BX, CX et DX. Ils sont utilisables dans tout type de
traitement (calcul, stockage temporaire, ….).
4.1.1 Le registre AX :
Appelé registre accumulateur. C’est le registre le plus utilisé implicitement par les
instructions du 8086.
On écrit : AX = AH : AL
10 24/05/2022
5
24/05/2022
Il est appelé registre de base. Il est utilisé aussi bien pour le calcul que pour
l’adressage. Comme AX, le registre BX est constitué de deux registres 8 bits : BL et
BH.
On écrit : BX = BH : BL
4.1.3 Le registre CX :
C’est le registre compteur. Il est souvent employé d’une manière implicite par
certaines instructions comme compteur (instructions de boucle, traitement des
chaines des caractères, …).
On écrit : CX = CH : CL
11 24/05/2022
On écrit : DX = DH : DL
12 24/05/2022
6
24/05/2022
13 24/05/2022
indépendantes :
14 24/05/2022
7
24/05/2022
DS Zone de Données
CS Zone de Code
SS Zone de Pile
15 24/05/2022
L’adresse réelle d’une donnée est appelée adresse physique. Elle est exprimée sur
20 bits et c’est elle qui est effectivement mise sur le bus d’adresses pour accéder à
la donnée.
Dans un programme la donnée sera désignée par une adresse logique sur 16 bits et
16 24/05/2022
8
24/05/2022
Exemple :
Remarque :
- Une case mémoire est complètement définie par son segment et par son déplacement
Afin que le microprocesseur puisse lire une instruction dans la mémoire, il doit
fournir son adresse logique (contenue dans le registre IP) et son segment dans
CS.
9
24/05/2022
Il est utilisé implicitement par certaines instructions (Ex : manipulation des chaines
de caractères).
19 24/05/2022
C’est un registre constitué d’un ensemble de bits portant le nom drapeau (flag) :
20 24/05/2022
10
24/05/2022
Les indicateurs d’état sont mis à jour après chaque instruction. Leur valeur indique la nature
du résultat obtenu :
21 24/05/2022
Remarque :
22 24/05/2022
11
24/05/2022
23 24/05/2022
le registre CS.
24 24/05/2022
12
24/05/2022
donnée.
Afin d’étudier des exemples sur les différents modes d’adressage, nous allons
25 24/05/2022
Exemple :
Mov AX, DX
AX = 12C7 h AX = 5EBA h
DX = 5EBA h DX = 5EBA h
26 24/05/2022
13
24/05/2022
Exemple :
Remarque :
Ce type de transfert est interdit avec les registres de segmentation (DS, CS, SS et ES).
27 24/05/2022
Une opérande est donnée en mode direct s’elle est désignée par son adresse logique dans la
mémoire.
Exemple 1 :
Pour calculer réelle de la case (l’adresse physique), il faut connaitre la valeur stockée dans le
14
24/05/2022
Une opérande est donnée en mode direct s’elle est désignée par son adresse logique dans la
mémoire.
Exemple 2 :
4D59h est une donnée sur 16 bits, elle occupera les deux octets d’adresse logique 1200h et
1201h.
29 24/05/2022
Les registres de segment utilisés pour le calcul de l’adresse physique sont : DS pour BX et SS
pour BP.
- BX sera utilisé comme pointeur sur une donnée dans le segment de données
(registre DS);
- BP sera employé pour accéder aux informations stockées dans la pile (registre SS).
On note une opérande fournie en adressage indirect basé par : [BX] ou [BP].
30 24/05/2022
15
24/05/2022
Exemple 1 :
La donnée 0768h sera stockée à l’adresse pointée par BX, soit : 11A62h.
31 24/05/2022
Exemple 2 :
La donnée 0768h sera stockée à l’adresse pointée par BX, soit : 11ABEh.
32 24/05/2022
16
24/05/2022
SI et DI sont des pointeurs utilisés dans la zone des données. Le registre de segment utilisé
pour le calcul de l’adresse physique est : DS.
Exemple :
33 24/05/2022
- Instructions de transfert ;
- Instructions arithmétiques;
- Instructions logiques;
- Instructions de branchement;
34 24/05/2022
17
24/05/2022
35 24/05/2022
Ils sont également appelés des branchements et ils permettent de poursuivre l’exécution du
36 24/05/2022
18
24/05/2022
Une étiquette joue le rôle de référence lorsqu’on désire effectuer un saut à l’instruction
marquée.
Une étiquette peut être n’importe quel texte suivi de deux points (:). Elle est mise juste avant
l’instruction à marquer.
37 24/05/2022
Exemple :
Suite1 : Div BL
JZ TestRS
38 24/05/2022
19
24/05/2022
Ces sauts ont lieu après l’exécution d’une instruction de saut sans respect préalable d’une
quelconque condition.
L’instruction JMP :
Syntaxe :
JMP Etiquette
39 24/05/2022
L’instruction JMP :
Mov CL, 4
JMP Suite
Mov AL, CL
Suite : Div BL
40 24/05/2022
20
24/05/2022
L’instruction CALL :
Syntaxe :
CALL Etiquette
Un sous-programme est une suite d’instructions qui effectuent un traitement donné. Les sous-
programmes permettent d’améliorer la lisibilité et évitent surtout les répétitions lorsqu’on
désire effectuer un même traitement à plusieurs endroits du programme.
41 24/05/2022
L’instruction CALL :
JMP à la différence qu’il mémorise l’endroit d’appel pour y retourner à la fin du sous-
programme.
Remarque:
L’adresse de retour est mémorisée dans la pile au moment de l’appel. En arrivant à la fin
42 24/05/2022
21
24/05/2022
-----------------
INT 21h
43 24/05/2022
Les sauts conditionnels ont lieu si une condition est vérifiée. Ils dépendent en réalité des
Avant d’effectuer un saut conditionnel, il faut positionner les drapeaux pour traduire la
condition à vérifier.
Dans la plupart des cas, les sauts conditionnels sont précédés par deux instructions de
44 24/05/2022
22
24/05/2022
L’instruction CMP :
Syntaxe :
destination – source
En fonction du résultat de cette opération, les drapeaux du registre d’état sont positionnés.
Exemple :
CMP AL,50h
45 24/05/2022
L’instruction TEST :
Syntaxe :
En fonction du résultat de cette opération, les drapeaux du registre d’état sont positionnés.
46 24/05/2022
23
24/05/2022
L’instruction TEST :
Exemple :
TEST BL, BL
- Si BL est différent de 00h, le résultat sera non nul. Par conséquent, ZF sera mis à 0.
Donc pour vérifier si BL est nul ou non, il suffit de tester l’état de ZF juste après cette
instruction.
47 24/05/2022
Les instructions et leurs opérandes sont stockés en mémoire principale. Une instruction se
48 24/05/2022
24
24/05/2022
Exemples :
49 24/05/2022
25