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 AX 16 bits - 2octets AH AL 8 bits 1 octet
Syntaxe de l’assembleur Un code opération et des opérandes L’instruction copie MOV MOV Destination, Source Destination <-- Source Source est une valeur MOV AX, 5566 AX <-- 5566 Source est le contenu d’un registre MOV AX,BX AX <-- BX 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 Base Segment Déplacement 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 9955 DS 0008 Donnée 891E0800 CS 1000 IP 0009 Instruction
Exemple 1000:0009 MOV [0008],BX 891E0800 instruction CS 1000 IP 0009 Position Destination 0008 DS 2000 CS 1000 IP 0009 DS 2000 BX AA22 Adresse Instruction Segment Destination Source L ’instruction est à l ’adresse 1000:0009 CS=1000 - IP=0009 DS à pour valeur 2000. La donnée source (le contenu de BX) est placé à l ’adresse 2000:0008 [DS:0008] <-- BX