Académique Documents
Professionnel Documents
Culture Documents
8086
INTRODUCTION
Registre de
Registre d’offset
segment
CS IP
DS SI, DI, BX
ES DI, SI, BX
SS SP, BP
EXEMPLE : Adresse physique 8086
Déterminez l'adresse physique lorsque CS = 5300H,IP = 0200H.
Écrivez l'adresse de début et de fin du segment de code.
SOLUTION
Le contenu du SC est décalé à gauche de 4 bits et l'adresse de
base devient 53000H. Pour déterminer l'adresse physique, le
contenu de l'IP sera ajouté à l'adresse de base. Par conséquent,
adresse physique = 53000 + 0200 = 53200H
la taille de la mémoire CS est 64K, l'adresse de fin sera calculée
après l'ajout de 64K avec l’adresse de début la mémoire de CS
L'adresse de fin du CS = 53200 + FFFF = 631FFH.
Modes d'adressage des données
Le mode d'adressage des registres indirect du 8086 fonctionne
avec les registres SI, DI, BX et BP. Outre ces modes d'adressage
de données, le 8086 dispose de cinq autres modes d'adressage.
Ceux-ci sont:
1. Mode d'adressage de base
2. Mode d'adressage d'index
3. Mode d'adressage indexé basé
4. Base indexée avec mode d'adressage par déplacement
5. Mode d'adressage de chaîne
Mode d'adressage immédiat
En mode d'adressage immédiat, les opérandes
sont spécifiés dans l'instruction elle-même.
L'opérande immédiat ne peut être que l'opérande
source. Par exemple: AX 25 00
LAHF:
charger les indicateurs dans le registre AH copie
respectivement SF, ZF , AF ,PF ,CF dans les bites
7, 6, 4, 2, 0 du registre AH
SAHF:
trnsfère les bites 7, 6, 4, 2 et 0 du registre AH
dans SF, ZF, AF ,PF et CF, respectivement.
Instructions arithmétiques
Le microprocesseur 8086/8088 peut effectuer les
opérations arithmétiques sur des données binaire
signé, binaire non signé, BCD non compressé non
signé et BCD compressé non signé.
Le 8086 propose de nombreuses opérations
arithmétiques : addition, soustraction, négation,
multiplication, division et comparaison de deux
valeurs.
Instructions arithmétiques
Format
Fonction réalisée Flags concernés
d'instructions
ADD dest, src Ajouter dest et src AF CF OF PF SF ZF
ADC dest, src Ajouter dest, src et CF AF CF OF PF SF ZF
INC dest Add 1 to the destination AF - - OF PF SF ZF
SUB dest, src Soustraire src de dest AF CF OF PF SF ZF
SBB dest, src Soustraire source et CF de destination AF CF OF PF SF ZF
DEC dest Soustraire 1 de la destination AF - - OF PF SF ZF
Soustrait la source de la destination et met à jour les indicateurs
CMP dest, src mais n'enregistre pas le résultat. Seuls les drapeaux sont concernés AF CF OF PF SF ZF
Exemple
MOV AX, 00C8H
MOV CL, 06H
DIV CL
Après ce programme le résultat est disponible en AL (= 21H)
et le reste est présent en AH (= 02H).
Operands IDIV Division signée
REG
memory effectue une division signée de
l’accummulateur par l’oérande source.
Example
MOV AX, -200;AX = 0FF38H
MOV CL, 6
IDIV CL
CF = OF = 0 lorsque la partie
haute du résultat est nulle.
Operands IMUL Multiplication signée
REG
memory
Effectue une multiplication signée de l’opérandee
source de l’accumulateur
Exemple
MOV AL, 03H
MOV CL, 05H
IMUL CL; AX = 000FH
CF = OF = 0 lorsque le résultat
correspond à l'opérande d'IMUL
NEG Négation
Operands
REG
memory
Calcule le complément à 2 de l’opérande
Exemple
MOV AX, 0; AH = 0, AL = 0
MOV AL, F5H
CBW; AX = 0FFF5H
F5H est équivalent à 11110101B, cela signifie que le bit de
signe est 1. Après le CBW, le bit de signe (1 dans ce cas)
sera étendu au registre AX.
CWD Convertir mot en double mot
pas d'opérandes
CWD convertit la valeur signée 16 bits dans le
registre AX en une valeur signée 32 bits équivalente
dans la paire de registres DX:AX en dupliquant le bit
Exemple
de signe vers la gauche.
MOV DX, 0
MOV AX, 0
MOV AX, 14H; DX:AX = 0000H:0FFECH
CWD; DX:AX = 0FFFFH:0FFECH
Instruction logique
Le 8086 fournit des instructions logiques.
tel que AND, OR, XOR, TEST, NOT et
CMP. Ces instructions peuvent manipuler
des bits, convertir des valeurs, effectuer
des opérations logiques, compresser et
décompresser des opérations de données
Instruction logique
Format
Fonction réalisée Flags concernés
d'instructions
Instruction NOP
A la fin de l'instruction NOP, aucune opération n'est effectuée
autre que l'extraction et le décodage de l'instruction. Cela
prend 3 cycles d'horloge. NOP est utilisé pour remplir les
délais ou pour fournir de l'espace pour les instructions lors
du dépannage. NOP n'affecte aucun drapeau.
Instructions de manipulation des Flags