Modèle 8086 - Saint

publicité
Processeur modèle 8086
David Saint-Mellion
Les registres de Données
• 4 Registres de 16
bits - 2 octets : AX,
BX, CX, DX
• Chaque registre se
décompose partie
Haute H et partie
Basse
• AX = AH+AL
AX
BX
CX
DX
16 bits - 2octets
AX
AH
AL
8 bits
1 octet
8 bits
1 octet
Syntaxe de l’assembleur
Un code opération et
des opérandes
L’instruction copie
MOV
Source est une valeur
MOV AX, 5566
AX <-- 5566
Source est le contenu d’un registre
MOV AX,BX
AX <-- BX
MOV Destination, Source
Destination <-- Source
Source est le contenu d’une position
mémoire (adresse)
MOV AX,[300]
AX <-- [DS:300]
Principe de l’adressage
Dans le programme, une
position mémoire est
désignée par une base et
un déplacement
• adressage segmenté
Adresse logique :
Base : déplacement
Segment : déplacement
Position mémoire
Déplacement
Base
Segment
1000 : 2500
La position mémoire se situe dans le
segment à l ’adresse 1000 avec un
déplacement (offset) de 2500
Les registres adresses
Les registres de segment :
• instructions CS
• données DS (ES)
• pile SS
Une instruction est à l ’adresse
CS:IP
Une donnée est à l ’adresse
DS:opérande
Un objet de la pile est à l’adresse
SS:SP
Exemple
1000:0009 891E0800 MOV [0008],BX
Donnée
9955
0008
Instruction
IP 0009
CS 1000
891E0800
DS
Exemple 1000:0009 MOV [0008],BX
L ’instruction est à l ’adresse
1000:0009
• CS=1000 - IP=0009
Position
Destination
0008
DS à pour valeur 2000. La
donnée source (le contenu
de BX) est placé à l ’adresse
2000:0008
[DS:0008] <-- BX
IP 0009
891E0800
instruction
DS 2000
CS 1000
CS
IP
DS
BX
1000
0009
2000
AA22
Adresse Instruction
Segment
Destination
Source
Téléchargement