INSTRUCTIONS DU8086
(Résumé des principales instructions)
1. Instructions de transfert
Syntaxe Rôle Remarques Exemples
MOV destination, source Transfère le contenu de source vers destination et source doivent être de même MOV AX,5BC3h (registre 16 bits)
destination: taille (8 bits ou 16 bits). MOV CL,4Eh (registre 8 bits)
destination source |Sontinterdits : MOV AX,I1200hj (adressage direct)
le transfert mémoire, mémoire (MOV MOV [BXI,CL (adressage basé)
[100hl,[1 200h)
le transfert registre de segmentation,valeur
immédiate (MOV DS,1200h)
2. Instructions arithmétiques
Rôle Remarques Exemples
Syntaxe
ADD destination ,source Effectue une addition entre destination et Sil y a une retenue le drapeau CF (Carry) est mis|ADD DX,1000h
SOurce : à 1. (addition sur 16 bits :DX-DX+1000h)
destination destination + source destination etsource doivent être de même ADD BH,F1h
taille (8 bits ou 16 bits). (addition sur 8 bits :BH+-BH+Flh)
Tous les registres sont utilisables sauf les registres ADD AL,[1205h) (adressage direct)
de segment. ADD CL,SI] (adressage indexé)
l'addition mémoire, mémoire est interdite.
ADC destination,
source Effectue une addition entre destination et Mêmes remarques que ADD ADC DX,300h (DX-DX+300h + CF)
retenue CF: DX=500h et CF=1 alors DX prendra
-
source avec la Si
destination destination +source + CF la valeur 801h
INC destinat Incrémente est un registre de 8 ou 16 INC DI
-
ion destination destination bits.
destination destination +
1
Syntaxe Rôle
Remarques
SUB destination, source une
Exemples
Effectue soustraction entre |Mêmesremarques que ADD SUB CH,BL (CHCH-BL)
destination et source :
destination destination -source
DEC destination Décrémente destination destination est un registre de 8 ou 16 bits. DEC BH
destination destination -1
MUL sOurce une AX (ou
Effectue multiplication entre Multiplication sur 8 bits : MUL DH (AX-AL x DH)
AL) et source: SOurce est un registre 8 bits ou une adresse
Sur 8bits : mémoire
AX AL SOurce X Multiplication sur 16 bits
Sur 16 bits : SOurce est un registre 16 bits ou une adresse
DIV source
DX:AX
Effectue
et source
Sur & bits
+AX x sOurce
une
:
division entre AX (ou DX:AX) |mémoire
Division
source est un
sur & bits
registre
:8 bits ou une adresse
DIV CL (AL-AX/CL, reste dans AH)
mémoire
AL AX/ source (reste dans AH) Division sur 16 bits :
Sur 16 bits :
SOurce est un registre 16 bits ou une adresse
AX DX:AX/source (reste dans DX) mémoire
3. Instructions logiques
Syntaxe Rôle Remarques Exemples
AND destination, source Effectue un ET logique entre destination destination et source doivent être demême AND DH,CL
et source : DH=F4h et CL=3Fh alors:
taille. peuvent être des registres
lls de 8 ou 16 Si
destination destination ET source bits ou des cases mémoire. DH DHET CL 34h =
OR OU entre dest.
destination, source Effectue
destination
un
- destination
et source
OUsource
: même remarque que AND OR SI,BP
XOR destination, source Effectue un OU excdusif entre destination même remarque que AND XOR CH,AL
et source SiCH=42h et AL=9Ah alors:
NOT destination
destination destination
Effectue le complémentde destination
source
: destination peut être un registres de 8 ou 16 bits
CH
NOT DL
+
CHAL = D8h
destination destination ouune case mémoire. Si DL=C1 alors : DL DL = 3Eh.
4. Instructions de manipulation de bits
|Syntaxe Rôle Remarques Exemples
(1) SHR destination, 1 SHR AL,CL
Réalise un décalage à droite de décalage dun seul bit à droite
(2) SHR destination, CL destination décalage de n bits à droite tel que n est la valeurSi AL=7Ah et Cl=4 alors AL4-07h
stockéedans CL
(1) SHL destination, 1 Réalise un décalage à gauche de (1) décalage d'un seul bit à gauche SHL BL,1
(2) SHL destination, CL destination (2) décalage de n bits à gauche (CL=n) Si BL=41h alors BL+82h
(1) ROR destination, 1 Réalise un rotation à droite de destination (1) rotation d'un seul bit à droite
(2) ROR destination, CL (2) rotation de n bits à droite (CL=n)
(1) ROL destination, 1 Réalise un rotation à gauche de (1) rotation d'un seul bit à gauche
(2) ROL destination, CL destination (2) rotation de n bits à gauché (CL=n)
(1) RCR destination, 1 Réalise un rotation à droite de destination(1)rotation d'un seul bit à droite
(2) RCR destination, CL à travers le bit CF (2) rotation de n bits à droite (CL=n)
(1) RCL destination, Réalise un rotation à gauche de (1) rotation d'un seul bit à gauche RCL BL,CL
1
(2) RCL destination,CL destination à travers CF (2) rotation de n bits à gauche (CL=n) Si BL=72h,CL=2 et CF=0 alors:
BLC8h et CF1
5. Instructions de branchement
Syntaxe Rôle Remarques Exemples
JMP Etiquette Effectue un saut inconditionnel à
Iinstruction marquée par Etiquette
CALL Etiquette Effectue un appel au sous-programme |Lesous-programme appelé doit obligatoirement
marquépar Etiquette. se terminer par linstructionde retour RET
CMP destination,source Effectue lopération :destination -source source et destination ne sont pas modifiés
et positionne les drapeaux du registre
Cette instruction précède en général un saut
d'état. conditionnel
JE Effectue un saut à Etiquette si égal
CMP AL,5Ah
Etiquette
JE suite (saut à suite si AlL=5Ah)
JNE Etiquette Effectue un saut à Etiquette si différent
CMP SI,3BOOh
JNE boucle (saut à boucle siS=3BOOh)
CMP CL,30h
|JL,JLEEtiquette Efectue un saut à Eiquette si inférieur ou La comparaison est effectuéeen binaire signé
JL fleur (saut à fleur si CL<30Oh)
|inférieurou égal respectivement
Syntaxe Rôle
JG,JGE Etiquette Remarques Exemples
Effectue un saut à Etiquette si
supérieur La comparaison est effectuée en binaire CMP DH,FFh JG fleur2
signé -
ou supérieur ou égal
respectivement Si DH=2, y aura saut car 2>-1 (FF en
il
JB,JBE Etiquette binaire signé)
Effectue un saut à Etiquette si inférieur ou La comparaison est effectuée en binaire non
inférieurou égal respectivement signé
JA,JAE Etiquette
Effectue un saut à Etiquette si CMP DH,FFh JA fleur2
supérieur Ld comparaison est effectuéeen binaire non -
ousupérieur ou égal respectivement signé Si DH=2, n'y aura pas de saut car
il
2<255 (FF en binaire non signé)
JZS,jO Etiquette Effectue un saut à Etiquette si le drapeau
ADD AL,14h
ZF, CF, PF, SF, OF respectivement està JC Trai Re (Saut à Trai Re en cas de
1
retenue)
|JNZJNCJNP,JNS,JNo Effectue un saut à Etiquette le drapeau si SUB AX,185Eh
Etiquette |ZF,CF, PF, SF, OF respectivement est à 0 JNZ suite (Sautà suite si le résultat de
la soustraction n'est pas nul)
6. Instructions de contrôle et de gestion de la pile
Syntaxe Rle Remarques Exemples
CLC,CLD, CLI Met à zéro les drapeaux CF, DF et IF
respectivement
STC,STD, STI Met à un les drapeaux CF,DF et IF
respectivement
CMC Complémentele bit de retenue CF
NOP N'effectue aucuneopération Instruction utilisée en général pour allonger la
durée d'une boucle ou occuper un espace non
utilisé.
PUSH SOurce Empile source source doit être un registre de 16 bits ou un PUSH AX
pointeur vers une adresse. PUSH [SI]
Le pointeur de pile SP est décrémentéde 2
POP destination
Dépile le sommet de la pile vers destination doit être un registre de 16 bits ou unPOP DS
destination
pointeur vers une adresse. POP [BX]
Le pointeur de pile SP est incrémenté de 2