Académique Documents
Professionnel Documents
Culture Documents
de l’Ingénieur
Le Microprocesseur
Intel 8086
2020/2021
Dr. Hanane YATIMI
Introduction générale
2
Le Microprocesseur Intel 8086
3
Le Microprocesseur Intel 8086
Les registres
4
Le Microprocesseur Intel 8086
Les modes d’adressage
Introduction
Lorsque vous envoyé une lettre ou un colis, vous pouvez utiliser un grand nombre
de moyens de transport:
- le bateau
- l’avion
- la voiture
- la bicyclette
- le coursier
- etc..
Il en est de même pour le processeur : On parle alors de modes
d’adressage
5
Le Microprocesseur Intel 8086
Les modes d’adressage
Introduction
Un mode d’adressage : est un moyen qui permet au microprocesseur d'avoir accès à une donnée bien
précise dans un emplacement bien précis.
Une donnée peut être: Un nombre qui se trouve écrit quelque part
en mémoire (case mémoire).
Le mode d’adressage permet d'écrire les programmes de la façon la plus courte, la plus simple
et la plus lisible possible.
6
Le Microprocesseur Intel 8086
Les modes d’adressage
7
Le Microprocesseur Intel 8086
Les modes d’adressage - Types
8086
possède 7 modes d’adressage
8
Le Microprocesseur Intel 8086
Les modes d’adressage - Types
Mode d’adressage Registre à Registre
(adressage par registre)
L’opération se fait sur un ou deux registres.
INST R , R
INST R
Exemple
9
Le Microprocesseur Intel 8086
Les modes d’adressage - Types
Mode d’adressage Immédiat
Un des opérandes est une constante (valeur).
INST R , cste Charger le registre R par la valeur cste immédiatement (directement)
Exemple
Exemple
MOV AX, [560H] : copier le contenu de l’emplacement mémoire 560H (existant [560H]
dans DS cad DS:560H) dans AX.
opérande
MOV AX, [SS:560H] : copier le contenu de la mémoire d’adresse SS:560H
dans AX.
MOV [124H], AX : copier le contenu de AX dan la case mémoire d'adresse
DS:124 11
Le Microprocesseur Intel 8086
Les modes d’adressage - Types
Mode d’adressage Direct - 2
Exercise 1:
MOV BL, [1200H] : transfère le contenu de la case mémoire d’adresse effective (offset)1200H
vers le registre BL. L’instruction comporte l’adresse de la case mémoire ou se trouve la donnée.
L’adresse effective représente l’offset de la case mémoire dans le segment de données (segment
dont l’adresse est contenue dans le registre DS) : segment par défaut.
12
Le Microprocesseur Intel 8086
Les modes d’adressage - Types
Mode d’adressage Direct - 3
Exercise 2:
13
Le Microprocesseur Intel 8086
Les modes d’adressage - Types
Mode d’adressage Indirect - 1
Un des deux opérandes se trouve en mémoire.
L’offset de l’adresse n’est pas précisé directement dans l'instruction, il se trouve dans l’un
des 4 registres d’offset BX, BP, SI ou DI et c’est le registre qui sera précisé dans l’instruction :
[Rseg : Roff].
Rq : Si Rseg n'est pas spécifié, le segment par défaut sera utilisé est le suivant :
14
Le Microprocesseur Intel 8086
Les modes d’adressage - Types
Mode d’adressage Indirect - 2
Exemples:
Exemples:
16
Le Microprocesseur Intel 8086
Les modes d’adressage - Types
Mode d’adressage Indirect - Indexé
L’offset se trouve dans l’un des deux registres d’index SI ou DI.
On peut préciser un déplacement qui sera ajouté au contenu de Ri pour déterminer l’offset
Exemples:
17
Le Microprocesseur Intel 8086
Les modes d’adressage - Types
Mode d’adressage Indirect - Basé Indexé avec Déplacement
L'offset de l’adresse de l'opérande est la somme d'un registre de base, d'un registre
d'index et d'un déplacement optionnel.
Si Rseg n'est pas spécifié, le segment par défaut du registre de base est utilisé (DS).
INST R , [Rseg : Rb + Ri + dep]
INST [Rseg : Rb + Ri + dep] , R
Exemples:
18
Le Microprocesseur Intel 8086
Les principales instructions du 8086
8086
Instructions Arithmétiques
Instructions Logiques
Instructions de Branchement
Instructions de Transfert
19
Le Microprocesseur Intel 8086
Les principales instructions du 8086
Les instructions de transfert
Elles permettent de déplacer des données d’une source vers une destination :
Registre vers mémoire
Registre vers registre MOV destination, source
Mémoire vers registre
20
Le Microprocesseur Intel 8086
Les principales instructions du 8086
Les instructions de transfert
Exemples:
MOV AL, 21h : Charger 21h dans le registre AL
XCHG OD, OS
21
Le Microprocesseur Intel 8086
Les principales instructions du 8086
Les instructions de transfert
PUSH Op // PUSH source (Sauvegarde « source»)
Empiler l’opérande Op (Op doit être un opérande 16 bits, Source = registre ou case mémoire dont
le contenu doit être placé sur la pile)
Décrémente SP de 2 octets
Copie Op dans la mémoire pointée par SP
Dépiler dans l’opérande Op (Op doit être un opérande 16 bits, Destination = registre ou case
mémoire auquel est affectée la valeur retirée du sommet de la pile)
Copie les deux cases mémoire pointée par SP dans
l'opérande Op
Incrémente SP de 2 octets
Le Microprocesseur Intel 8086
Les principales instructions du 8086
Les instructions de transfert
PUSH Op // PUSH source POP Op // POP destination
23
Le Microprocesseur Intel 8086
Les principales instructions du 8086
Les instructions de transfert
Exemples:
(a) Situation de la pile après empilement des
registres AX, BX et CX
(b) Situation de la pile après empilement du
registre DX
(c) Situation de la pile après un dépilement.
On remarquera que DX reste dans la
mémoire mais il ne fait plus partie de la
pile. La pile s'arrête à son sommet qui est
pointé par le pointeur de pile.
(d) Situation de la pile après empilement du
registre BP. On remarque que la valeur
BP écrase la valeur DX dans la mémoire.
Fonctionnement d’une pile
Le Microprocesseur Intel 8086
Les principales instructions du 8086
Les instructions Arithmétiques
Les instructions arithmétiques de base sont l’addition, la soustraction, la multiplication et la division
Addition
ADD Od, Os Additionne l'opérande source et l'opérande destination avec résultat dans l'opérande destination
Exemples: ADD AX,123h (A.I) ADD AX,BX (AR) ADD [123h],AX (A.D) ADD BX,[SI] (A.I)
ADC Od, Os Additionne l'opérande source, l'opérande destination et le curry avec résultat dans l'opérande
destination
25
Le Microprocesseur Intel 8086
Les principales instructions du 8086
Les instructions Arithmétiques
Soustraction
SUB Od, Os Soustrait l'opérande source et l'opérande destination avec résultat dans l'opérande destination.
SBB Od, Os Soustrait l'opérande source et le curry de l'opérande destination avec résultat dans l'opérande
destination
CMP Od, Os Compare (soustrait) les opérandes Os et Od et positionne les drapeaux en fonction du résultat.
Rq : L’opérande Od n’est pas modifié
26
Le Microprocesseur Intel 8086
Les principales instructions du 8086
Les instructions Arithmétiques
Multiplication
MUL Op
Cette instruction effectue la multiplication du contenu de AL par un opérande sur 1 octet ou du contenu de
AX par un opérande sur 2 octets.
Le résultat est placé dans AX (AH, AL) si les données à multiplier sont sur 1 octet (résultat sur 16 bits),
dans (DX,AX) si elles sont sur 2 octets (résultat sur 32 bits).
Rq : L'opérande Op ne peut pas être une donnée, c’est soit un registre soit une position mémoire, dans ce
dernier cas, il faut préciser la taille (byte ou word)
27
Le Microprocesseur Intel 8086
Les principales instructions du 8086
Les instructions Arithmétiques
Multiplication
Exemples:
Division
DIV Op
Effectue la division AX/Op8 ou (DX/AX)/Op16 selon la taille de Op qui doit être soit un registre soit une
mémoire. Dans le dernier cas il faut préciser la taille de l’opérande.
Division
Exemples:
30
Le Microprocesseur Intel 8086
Les principales instructions du 8086
Les instructions Arithmétiques
Division
Exercice - 1
On désire additionner :
32
Le Microprocesseur Intel 8086
Les principales instructions du 8086
Les instructions Arithmétiques
Exercice - 2
(200/60 + 3*20 – 5)
33
Le Microprocesseur Intel 8086
Les principales instructions du 8086
Les instructions Logiques
Ce sont des instructions qui permettent de manipuler des données au niveau des bits. Les
opérations logiques de base sont :
ET
OU
OU exclusif
Complément à 1
Complément à 2
34
Le Microprocesseur Intel 8086
Les principales instructions du 8086
Les instructions Logiques
Exemples:
mov al,10010110B
mov bl,11001101B
and al, bl
MOV AX,125h
AND AL, AH
35
Le Microprocesseur Intel 8086
Les principales instructions du 8086
Les instructions Logiques
OU Logique OR Od, Os
Exemples:
mov ah, 01011000B met à 1 le bit de faible
OR AL, 1H
or ah, 00001101B poids de AL
MOV AX,105h
OR AH, AL
36
Le Microprocesseur Intel 8086
Les principales instructions du 8086
Les instructions Logiques
Exemples:
mov al, 25
al = ?
xor al, al
37
Le Microprocesseur Intel 8086
Les principales instructions du 8086
Les instructions Logiques
Complément à 1 NOT OP
Complément à 1 de l’opérande
Exemples:
mov al, 10010001B
al 01101110
not al
Complément à 2 NEG OP
Complément à 2 de l’opérande
Exemples: mov al,25
mov bl,12
al = 25 + (−12) = 13
neg bl
add al,bl
38