0% ont trouvé ce document utile (0 vote)
282 vues23 pages

Modes D'adressage

Transféré par

Hiba Saghir
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPTX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
282 vues23 pages

Modes D'adressage

Transféré par

Hiba Saghir
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPTX, PDF, TXT ou lisez en ligne sur Scribd

Jeu d’instructions

1. Introduction
2. Modes d’adressage
- Adressage immédiat
- Adressage registre
- Adressage direct
- Adressage inderce
+ Adressage basé
+ Adressage indexé
+ Adressage basé indexé
Introduction
Défenition du jeu d’instrution
 Chaque microprocesseur reconnait un ensemble
d’instructions machine appelé jeu d’instructions
(Instruction Set) fixé par le constructeur et supporté
par le processeur.
- Une instruction est définie par son code
opératoire, valeur numérique binaire difficile à
manipuler par l’être humain.
- Une notation symbolique est utilisée pour
représenter les instructions: les mnémoniques.
Le jeu d'instruction précise aussi quels sont les
registres du processeur manipulables par le
programmeur.
Introduction
L’architecture CISC & RISC

Actuellement l’architecture des microprocesseurs


se composent de deux grandes familles de jeu
d'instructions:
L’architecture CISC (Complex Instruction Set Computer) et
l’architecture RISC (Reduced Instruction Set Computer).

L’architecture CISC est utilisée en particulier par les CPUs


80x86.
Introduction
Format d’instruction
L’instruction est composée de deux champs:
– Code d'opérat ion représentant l'action que
le processeur doit accomplir
– Champ d e s o p é r a n d e s définissant les
paramètres de l'action.

– Lataille d'une instruction dépend


du type de l'instruction et du type
de l'opérande.
Exemple du Format d’instruction

Instruction à trois opérandes: il faut


préciser le premier et le deuxième
opérande et l'emplacement du résultat

Exemple : ADD A,B,C


Exemple du Format d’instruction
Instruction à deux opérandes: il faut préciser
le premier et le deuxième opérande. Le résultat est
implicitement mis dans le deuxième opérande

Exemple: ADD A,B


Exemple du Format d’instruction

Instruction à un opérande: il faut


préciser uniquement le
deuxième opérande
premier opérande. le
existe dans le registre
Accumulateur. résulta est mis dans
Le l'accumulateur. t

Exemple :ADD B
Type d’opérandes

===> Modes d'adressage


Exemple introductif aux modes d’adressage
- Utilisation de MOV -
Parmi les opérations de base qu’on réalise en
programmation Assembleur 8086, le transfert de
données. Ceci se fait grâce aux instructions: MOV

L’instruction MOV (En anglais: move est la traduction de


mot français déplacer).

En assembleur, Cette instruction réalise un transfert


d’une source vers une destination:
MOV destination, source
Les transferts MOV possibles
Les transferts MOV possibles
Exemple 1:
mov ax,bx : charge le contenu du registre bx dans le
registre ax. Dans ce cas, le transfert se fait du registre
bx (source) vers un autre registre ax (destination).

Exemple 2:
mov bl, [1200H] : cette instruction réalise le transfert
du contenu de la case mémoire (source) d’adresse
effective (offset) 1200H vers le registre bl
(destination). L’instruction comporte l’adresse de la case
mémoire ou se trouve la donnée
Les transferts MOV possibles
Exemple 3:
mov [1200H], al : cette instruction réalise le
transfert du contenu du registre al (source)
vers la case mémoire (destination) d’adresse
effective (offset) 1200H. L’instruction
comporte l’adresse de la case mémoire ou la
donnée va être transférer.

Exemple 4:
mov al, 12H : charge le registre al
(destination) avec la valeur immédiate (source)
12H. La donnée est fournie immédiatement avec
l’instruction.
Les transferts MOV possibles

Exemple 5:
mov [1200H], 12H : cette instruction
réalise le transfert de la valeur immédiate
(source) 12H vers la case mémoire
(destination) d’adresse effective (offset)
1200H. L’instruction comporte l’adresse de
la case mémoire ou la donnée va être
transférer.
Modes d'adressage
L’adressage est la méthode de localisation des
opérandes des opérations

Le mode d’adressage est la manière d’interpréter les


bits d’un champs d’adresse en vue de la localisation de
l’opérande

Le mode d'adressage définit la manière dont le processeur


va accéder à l'opérande d'une instruction.

Les modes d'adressage les plus utilisés sont: mode


immédiat, mode registre, mode direct, mode indirect
(basé, indexé, basé-indexé)
Liste des abréviations utilisées

Rseg : Registre Segment


Roff : Registre d’offset
Off : Offset de l’adresse
Ri : Registre d'indexe
Mode immédiat
Un des opérandes est une constante
(valeur).

Exemple
MOV AH,12 (donnée de 8 bits)
MOV BX,FFFF (donnée de 16 bits)
Adressage registre
L'opération se fait sur un ou 2 registres.

Exemples:
INC AX ; incrémenter le registre AX
MOV AX, BX ; Copier le contenu de BX dans AX

Remaraue:
Il est important de noter qu’il n’existe pas
d’instruction MOV pour transférer le contenu d’un
registre de segment vers un autre registre de
segment.
Donc, il est indispensable de passer par un registre
de données pour transférer les registres de segment.
Adressage direct
Un des deux opérandes se trouve en mémoire. L’adresse de la
case mémoire ou plus précisément son Offset est précisé
directement dans l’instruction. L’adresse Rseg: Off doit être
placée entre [ ], si le segment n’est pas précisé, DS est pris
par défaut.

Exemples:
MOV AX, [243]; Copier le contenu de la mémoire d'adresse
DS:243 dans AX

MOV [123], AX; Copier le contenu de AX dans la mémoire


d'adresse DS:123

MOV AX, [SS:243]; Copier le contenu de la mémoire SS:243


dans AX
Adressage indirect
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]. Si Rseg n'est pas spécifié, le segment par
défaut sera utilisé selon le tableau suivant:

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
Adressage indirect

L’adressage indirect est divisé en 3 catégories selon le registre


d’offset utilisé. On distingue ainsi:
- l’adressage basé (avec/sans déplacement) ;
- l’adressage indexé (avec/sans déplacement) ;
- l’adressage basé indexé (avec/sans déplacement).
Adressage 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.

Exemples:
MOV AX, [BX] ;Charger AX par le contenu de la mémoire
d'adresse DS:BX
MOV AX, [BX+3] ;Charger AX par le contenu de la mémoire
d'adresse DS:BX+3
MOV AX, [BP-100] ;Charger AX par le contenu de la mémoire
d'adresse SS:BX-100
MOV AX, [ES:BP] ;Charger AX par le contenu de la mémoire
d'adresse ES:BP
Adressage 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:
MOV AX, [SI]  ;Charger AX par le contenu de la mémoire
d'adresse DS:SI
MOV AX, [SI+200] ;Charger AX par le contenu de la mémoire
d'adresse DS:SI+200
MOV AX, [DI-7] ;Charger AX par le contenu de la mémoire
d'adresse DS:ID-7
MOV AX, [ES:SI+4] ;Charger AX par le contenu de la mémoire
d'adresse ES:SI+4
Adressage basé indexé
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é:

Exemples:
MOV AX,[BX+SI] ;Charger AX par le contenu de la mémoire
d'adresse DS:BX+SI
MOV AX,[BX+DI+7] ;Charger AX par le contenu de la mémoire
d'adresse DS:BX+DI+7
MOV AX,[BP+SI-3] ;Charger AX par le contenu de la mémoire
d'adresse SS:BP+SI-3
MOV AX,[BP+DI] ;Charger AX par le contenu de la mémoire
d'adresse SS:BP+DI

Vous aimerez peut-être aussi