Vous êtes sur la page 1sur 18

Ecole Marocaine des Sciences

de l’Ingénieur

Le Microprocesseur
Intel 8086

2020/2021
Dr. Hanane YATIMI
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
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).

Un nombre qui se trouve déjà dans un registre.

Un nombre quelconque dont on aura besoin dans


le programme.

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

La structure la plus générale d’une instruction est :

 L’opération est réalisée entre les 2 opérandes.


 Le résultat est toujours récupéré dans l’opérande de gauche.
 Il y a aussi des instructions qui agissent sur un seul opérande

Les opérandes peuvent être des registres, des constantes ou le contenu de


cases mémoire, c’est ce qu’on appelle mode d’adressage

7
Le Microprocesseur Intel 8086
Les modes d’adressage - Types

8086
possède 7 modes d’adressage

Adressage registre à registre


Adressage Immédiat
Adressage Direct
Adressage Basé
Adressage Indexé
Adressage Basé Indexé
Adressage Basé Indexé
avec déplacement

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

INC AX : incrémenter le registre AX

MOV AX, BX : copier/déplacer/charger le contenu de BX dans AX (opérandes de 16bits)

ADD CH, DL : faire la somme du contenu de CH et DL (opérandes de 8bits)

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

MOV CX, 4432h : Transférer la valeur hexa 4432 dans CX


MOV AL, FFH : Transférer la valeur FF dans AL
MOV AX, 4432 : Transférer la valeur décimal dans AX
MOV AL, 'a‘ : Charger le registre AL par le code ASCII du caractère 'a'
MOV AX, 'a‘ : Charger le registre AH par 00 et le registre AL par le code ASCII du
caractère 'a‘.
MOV AX,'ab‘ : Charger AH par 'a' et AL par 'b‘
MOV AX, 0xA243 : Quand le chiffre de gauche du nombre hexadécimal est une
lettre, il est préférable d'utiliser le préfix 0x pour l'hexadécimal.
10
Le Microprocesseur Intel 8086
Les modes d’adressage - Types
Mode d’adressage Direct - 1
 Un des deux opérandes se trouve en mémoire. L’adresse de la case mémoire ou plus
précisément son Offset (adresse effective) est précisé directement dans l’instruction.
 L’adresse Rseg:Off doit être placée entre [ ]
Rq : si le segment n’est pas précisé, DS est pris par défaut

INST R , [adr] Zone mémoire: segment DS


INST [adr] , R

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:

On peut changer le segment lors d’un adressage direct en ajoutant un préfixe de


segment, exemple : MOV BL, [ES :1200H]. On parle alors de forçage de segment.

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 :

INST R , [Rseg : Roff]


INST [Rseg : Roff] , R

14
Le Microprocesseur Intel 8086
Les modes d’adressage - Types
Mode d’adressage Indirect - 2
Exemples:

MOV AX, [BX] : Charger AX par le contenu de la mémoire d'adresse DS:BX


MOV AX, [BP] : Charger AX par le contenu de la mémoire d'adresse SS:BP
MOV AX, [SI] : Charger AX par le contenu de la mémoire d'adresse DS:SI
MOV AX, [DI] : Charger AX par le contenu de la mémoire d'adresse DS:DI
MOV AX, [ES:BP] : Charger AX par le contenu de la mémoire d'adresse ES:BP

L’adressage indirect est divisé en 3 catégories selon le registre d’offset utilisé. On


distingue ainsi, l’adressage Basé, l’adressage indexé et l’adressage basé indexé
15
Le Microprocesseur Intel 8086
Les modes d’adressage - Types
Mode d’adressage Indirect - Basé
 L’offset se trouve dans l’un des deux registres de base BX ou BP.
 On peut préciser un déplacement qui sera ajouté au contenu de Roff pour déterminer
l’offset

INST R , [Rseg : Rb+dep]


INST [Rseg : Rb+dep] , R

Exemples:

MOV AX, [BX] : Charger AX par le contenu de la mémoire d'adresse DS:BX


MOV AX, [BX+5] : Charger AX par le contenu de la mémoire d'adresse DS:BX+5
MOV AX, [BP-200] : Charger AX par le contenu de la mémoire d'adresse SS:BP-200
MOV AX, [ES:BP] : Charger AX par le contenu de la mémoire d'adresse ES:BP

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

INST R , [Rseg : Ri + dep]


INST [Rseg : Ri + dep] , R

Exemples:

MOV AX, [SI] : Charger AX par le contenu de la mémoire d'adresse DS:SI


MOV AX, [SI+300] : Charger AX par la mémoire d'adresse DS:SI+300
MOV AX, [DI-10] : Charger AX par la mémoire d'adresse DS:DI-10
MOV AX, [ES:SI+7] : Charger AX par la mémoire d'adresse ES:SI+7

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:

MOV AX,[BX+SI] ; AX est chargé par la mémoire d'adresse DS:BX+SI


MOV AX,[BX+DI+9] ; AX est chargé par la mémoire d'adresse DS:BX+DI+9
MOV AX,[BP+SI-3] ; AX est chargé par la mémoire d'adresse SS:BP+SI-3
MOV AX,[BP+DI] ; AX est chargé par la mémoire d'adresse SS:BP+DI

18

Vous aimerez peut-être aussi