Vous êtes sur la page 1sur 20

Ecole Marocaine des Sciences

de l’Ingénieur

Le Microprocesseur
Intel 8086

2020/2021
Introduction générale

Pourquoi étudier et apprendre à programmer un Microprocesseur

?
Qu’est-ce qu’un Microprocesseur

Le Microprocesseur Intel 8086

2
Le Microprocesseur Intel 8086

L’architecture externe du 8086

?
Qui est-ce qu’un Bus, une interruption et une mémoire

La description des broches de connexion

Chronogrammes de lecture/écriture en mémoire

3
Le Microprocesseur Intel 8086

L’architecture interne du 8086

?
Organisation de l’espace mémoire adressable

Les registres

Le codage des instructions

4
Le Microprocesseur Intel 8086
Les modes d’adressage

8086
possède 7 modes d’adressage

Adressage registre à registre


Adressage Immédiat
Adressage Direct
Adressage Basé
Adressage Indexé
Adressage Basé Indexé
M
od Adressage Basé Indexé
eI
nd avec déplacement
ire
ct
5
Le Microprocesseur Intel 8086
Les principales instructions du 8086

8086

Instructions Arithmétiques

Instructions Logiques

Instructions de Branchement

Instructions de Transfert

6
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

Rq : le microprocesseur 8086 n’autorise pas les transferts de mémoire vers mémoire


(pour ce faire, il faut passer par un registre intermédiaire).

7
Le Microprocesseur Intel 8086
Les principales instructions du 8086
Les instructions de transfert
Exemples:
MOV AL, 21h : Charger 21h dans le registre AL

MOV AX, BX : Charger le contenu de BX dans AX.

MOV AX, [0200h] : Charger le contenu de la case mémoire 0200 dans AX

MOV AH, [BX+SI+100h] : Charger le contenu de BX+SI+100h dans la AH

XCHG OD, OS

 Echange l'opérande Source avec


l'opérande Destination

8
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
POP Op // POP destination (Restaure « destination»)

 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

10
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
Fonctionnement d’une pile BP écrase la valeur DX dans la mémoire.
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 carry avec résultat dans l'opérande
destination

INC Op Incrémente l'opérande Op

Rq : Pour incrémenter une case mémoire, il faut préciser la taille

12
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

DEC Op Décrémente l'opérande Op

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é

13
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)

14
Le Microprocesseur Intel 8086
Les principales instructions du 8086
Les instructions Arithmétiques
Multiplication
Exemples:

mov al, 51 mov ax, 4253


mov bl, 32 mov bx, 1689
mul bl mul bx
→ AX = 51 × 32 → (DX, AX) = 4253 × 1689
= 1632 (660H) = 7183317
(6D9BD5H)
IMUL Op (Integer Multiply ) Identique à MUL excepté qu'une multiplication signée est effectuée
15
Le Microprocesseur Intel 8086
Les principales instructions du 8086
Les instructions Arithmétiques

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.

Exemple : DIV byte [adresse] ou DIV word [adresse].

Rq : Op ne peut pas être une donnée (immédiat)


16
Le Microprocesseur Intel 8086
Les principales instructions du 8086
Les instructions Arithmétiques

Division

Exemples:

mov ax,35 (23h) mov dx,0 ; DX:AX (32bits) diviser par BX (16bits)
mov bl,10 mov ax,1234 (4D2h)
div bl mov bx,10
→ AL = 3 (quotient) et AH = 5 (reste) div bx
→ AX = 123 (7B) (quotient) et DX = 4 (reste)

IDIV Op Identique à DIV mais effectue une division signée

17
Le Microprocesseur Intel 8086
Les principales instructions du 8086
Les instructions Arithmétiques

Division

CBW (Convert Byte to Word)


 Effectue une extension de AL dans AH. On écrit le contenu de AL dans AX en respectant le signe
- Si AL contient un nombre positif, On complète par des 0 pour obtenir la représentation sur 16 bits.
- Si AL contient un nombre négatif, On complète par des 1 pour obtenir la représentation sur 16 bits.
+5 = 0000 0101 0000 0000 0000 0101
-10 = 1111 1010 1111 1111 1111 1010
CWD (Convert Word to Double Word)
 Effectue une extension de AX dans DX en respectant le signe.
 On écrit AX dans le registre 32 bits obtenu en collant DX et AX
18
Le Microprocesseur Intel 8086
Les principales instructions du 8086
Les instructions Arithmétiques

Exercice - 1

On désire additionner :

 Un nombre de 32 bits situe à l’adresse 1000H avec un


nombre de 32 bits situé à l’adresse 1004H,
 Le résultat sera stockée à l’adresse 1008H.

19
Le Microprocesseur Intel 8086
Les principales instructions du 8086
Les instructions Arithmétiques

Exercice - 2

Ecrire les instructions pour calculer l’expression suivante :

(200/60 + 3*20 – 5)

20

Vous aimerez peut-être aussi