Académique Documents
Professionnel Documents
Culture Documents
Sélection D'instructions Du Microprocesseur 8086
Sélection D'instructions Du Microprocesseur 8086
8X86
CNAM
Informatique Industrielle:
Systèmes à base de microprocesseurs
(19571-A7)
1
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
15 0
AH AL
31 16 AX Accumulateur
EAX
BH BL
BX Base
EBX
CH CL
CX Compteur
ECX
DH DL
DX Données
EDX Registres
d'usage
général
SI Index source
ESI
DI
Index destination
EDI
BP
Pointeur
de base
EBP
SP
Pointeur
de pile
ESP
IP
Pointeur
d'Instruction
EIP
15 0
31 16 FLAGS
Registre des
Indicateurs
EFLAGS
15 0
CS Segment
de code
Segment
DS de données
Segment
ES complémentaire
Registres
Segment de segment
FS complémentaire
Segment
GS complémentaire
Segment
SS de pîle
15 0
Registres du 8X86
2
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
Registre des indicateurs (flags)
15 0
OF DF IF TF SF ZF AF PF CF
Indicateurs :
3
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
AAA
Ajustement décimal après une addition
Format :
AAA
Sémantique :
L'instruction AAA peut être utilisée après une addition. Elle transforme le contenu
du registre AL en un nombre décimal non compacté (les bits 4 à 7 sont mis à 0).
Si l'addition produit une retenue décimale, alors AH est incrémenté et les
indicateurs AF et CF sont mis à 1.
Indicateurs:
OF DF IF TF SF ZF AF PF CF
? ? ? M ? M
4
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
AAD
Ajustement décimal avant une division
Format :
AAD
Sémantique :
L'instruction AAD peut être utilisée avant une division. Elle transforme le contenu
des registres AH et AL, supposés être des nombres décimaux non compactés
(les bits 4 à 7 sont à 0), en un nombre binaire dans AX (AL + 10*AH).
Indicateurs:
OF DF IF TF SF ZF AF PF CF
? M M ? M ?
5
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
AAM
Ajustement décimal après une multiplication
Format :
AAM
Sémantique :
L'instruction AAM peut être utilisée après une multiplication de deux chiffres
décimaux non compactés (les bits 4 à 7 sont à 0). Elle transforme le contenu du
registre AX (contenu dans AL) en deux chiffres décimaux non compactés dans
AH et AL tels que 10*AH + AL = AX.
Indicateurs:
OF DF IF TF SF ZF AF PF CF
? M M ? M ?
6
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
AAS
Ajustement décimal après une soustraction
Format :
AAS
Sémantique :
L'instruction AAS peut être utilisée après une soustraction. Elle transforme le
contenu du registre AL en un nombre décimal non compacté (les bits 4 à 7 sont
mis à 0). Si la soustraction produit une retenue décimale, alors AH est
décrémenté et les indicateurs AF et CF sont mis à 1.
Indicateurs:
OF DF IF TF SF ZF AF PF CF
? ? ? M ? M
7
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
ADC
Addition avec retenue
Format :
Sémantique :
Indicateurs:
OF DF IF TF SF ZF AF PF CF
M M M M M M
8
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
ADD
Addition
Format :
Sémantique :
Indicateurs:
OF DF IF TF SF ZF AF PF CF
M M M M M M
9
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
AND
ET logique
Format :
Sémantique :
Indicateurs:
OF DF IF TF SF ZF AF PF CF
0 M M ? M 0
10
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
BT
test de bit
Format :
BT opérande, masque
Sémantique :
CF est chargé avec le bit de opérande correspondant au rang définit par masque
Indicateurs:
OF DF IF TF SF ZF AF PF CF
M
11
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
BTC
test de bit et complément
Format :
Sémantique :
Indicateurs:
OF DF IF TF SF ZF AF PF CF
M
12
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
BTR
test de bit et mise à zéro
Format :
Sémantique :
Indicateurs:
OF DF IF TF SF ZF AF PF CF
M
13
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
BTS
test de bit et mise à un
Format :
Sémantique :
Indicateurs:
OF DF IF TF SF ZF AF PF CF
M
14
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
CALL
Appel de sous programme
Format :
Sémantique :
Indicateurs:
OF DF IF TF SF ZF AF PF CF
15
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
CBW
Extension d'un octet sur un mot
Format :
CBW
Sémantique :
Indicateurs:
OF DF IF TF SF ZF AF PF CF
16
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
CLC
Mise à zéro de l'indicateur de retenue
Format :
CLC
Sémantique :
CF = 0
Indicateurs:
OF DF IF TF SF ZF AF PF CF
0
17
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
CLD
Mise à zéro de l'indicateur de progression
Format :
CLD
Sémantique :
DF = 0
Indicateurs:
OF DF IF TF SF ZF AF PF CF
0
18
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
CLI
Mise à zéro de l'indicateur d'interruption
Format :
CLI
Sémantique :
IF = 0
Indicateurs:
OF DF IF TF SF ZF AF PF CF
0
19
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
CMC
Complément de l'indicateur de retenue
Format:
CMC
Sémantique :
CF = non CF
Indicateurs:
OF DF IF TF SF ZF AF PF CF
M
20
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
CMP
Comparaison des opérandes
Format :
Sémantique:
Indicateurs:
OF DF IF TF SF ZF AF PF CF
M M M M M M
21
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
CMPS
CMPSB
CMPSW
CMPSD
Comparaison de chaînes
Format:
Sémantique :
Cette instruction peut être précédée d'un préfixe de répétition: REPE, REPZ,
REPNE, REPNZ.
Indicateurs:
OF DF IF TF SF ZF AF PF CF
M M M M M M
22
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
23
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
CMPXCHG
Comparaison et échange
Format :
Sémantique:
Indicateurs:
OF DF IF TF SF ZF AF PF CF
M M M M M M
24
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
CWD
Conversion de mot en double mot
Format :
CWD
Sémantique :
Indicateurs:
OF DF IF TF SF ZF AF PF CF
25
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
CWDE
Conversion de mot en double mot
Format :
CWDE
Sémantique :
Indicateurs:
OF DF IF TF SF ZF AF PF CF
26
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
DEC
Décrémentation
Format :
DEC opérande
Sémantique :
opérande = opérande - 1
Indicateurs:
OF DF IF TF SF ZF AF PF CF
M M M M M
27
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
DIV
Division non signée
Format :
DIV opérande
Sémantique :
DIV effectue une division non signée de l'accumulateur (et son extension) par
opérande.
•Si celui-ci est un octet, AX est divisé par opérande. Le quotient va dans AL
et le reste dans AH.
•Si opérande est un mot, Les registres DX et AX associés sont divisés par
opérande. Le quotient va dans AX et le reste dans DX.
•Si opérande est un double mot, Les registres EDX et EAX associés sont
divisés par opérande. Le quotient va dans EAX et le reste dans EDX.
Si une division par zéro est tentée, une interruption est produite. Le quotient et le
reste sont, dans ce cas, non définis.
Indicateurs:
OF DF IF TF SF ZF AF PF CF
? ? ? ? ? ?
28
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
HLT
Arret de l'exécution
Format:
HLT
Sémantique :
arrêt de l'exécution
Indicateurs:
OF DF IF TF SF ZF AF PF CF
29
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
IDIV
Division entière
Format :
IDIV opérande
Sémantique :
IDIV effectue une division signée de l'accumulateur (et son extension) par
opérande.
•Si celui-ci est un octet, AX est divisé par opérande. Le quotient va dans AL
et le reste dans AH.
•Si opérande est un mot, Les registres DX et AX associés sont divisés par
opérande. Le quotient va dans AX et le reste dans DX.
•Si opérande est un double mot, Les registres EDX et EAX associés sont
divisés par opérande. Le quotient va dans EAX et le reste dans EDX.
Si une division par zéro est tentée, une interruption est produite. Le quotient et le
reste sont, dans ce cas, non définis.
Indicateurs:
OF DF IF TF SF ZF AF PF CF
? ? ? ? ? ?
30
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
IMUL
Multiplication entière
Format :
IMUL accumulateur,opérande
Sémantique :
Indicateurs:
OF DF IF TF SF ZF AF PF CF
M ? ? ? ? M
31
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
IN
Lecture périphérique
Format:
IN accumulateur, adresse_périphérique/DX
Sémantique:
L'instruction IN provoque la lecture d'un octet, d'un mot ou d'un double mot
depuis un périphérique dont l'adresse peut être donnée par
adresse_périphérique ou par le contenu du registre DX. Le format du dispositif
physique adressé et de son bus d'accès doivent être en rapport avec celui de
l'accumulateur spécifié.
Indicateurs:
OF DF IF TF SF ZF AF PF CF
M ? ? ? ? M
32
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
INC
Incrémentation
Format :
INC opérande
Sémantique :
opérande = opérande + 1
Indicateurs:
OF DF IF TF SF ZF AF PF CF
M M M M M
33
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
INT
Interruption logicielle
Format :
INT numéro_interruption
Sémantique :
OF DF IF TF SF ZF AF PF CF
0 0
34
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
IRET
Retour d'interruption
Format :
IRET
Sémantique :
Indicateurs:
OF DF IF TF SF ZF AF PF CF
M M M M M M M M M
35
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
JA
Saut si supérieur
JNBE
Saut su non inférieur ou égal
Format:
JA étiquette
JNBE étiquette
Sémantique :
Saut à étiquette si CF =0 et ZF = 0.
Indicateurs:
OF DF IF TF SF ZF AF PF CF
36
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
JAE
Saut si supérieur ou égal
JNB
Saut si non inférieur
Format :
JAE étiquette
JNB étiquette
Sémantique :
Saut à étiquette si CF = 0.
Indicateurs:
OF DF IF TF SF ZF AF PF CF
37
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
JB
Saut si inférieur
JNAE
Saut si non supérieur ou égal
Format
JB étiquette
JNAE étiquette
Sémantique :
Saut à étiquette si CF = 1.
Indicateurs:
OF DF IF TF SF ZF AF PF CF
38
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
JBE
Saut si inférieur ou égal
JNA
Saut si non supérieur
Format :
JBE étiquette
JNA étiquette
Sémantique :
Saut à étiquette si CF ou ZF = 1.
Indicateurs:
OF DF IF TF SF ZF AF PF CF
39
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
JC
Saut si retenue
Format :
JC étiquette
Sémantique :
Saut à étiquette si CF = 1.
Indicateurs:
OF DF IF TF SF ZF AF PF CF
40
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
JCXZ
Saut si registre CX nul
Format :
JCXZ étiquette
Sémantique :
Saut à étiquette si CX = 0.
Indicateurs:
OF DF IF TF SF ZF AF PF CF
41
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
JE
Saut si égal
JZ
Saut si nul
Format :
JE étiquette
JZ étiquette
Sémantique:
Saut à étiquette si ZF = 1.
Indicateurs:
OF DF IF TF SF ZF AF PF CF
42
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
JG
Saut si plus grand
JNLE
Saut si non inférieur ou égal
Format :
JG étiquette
JNLE étiquette
Sémantique :
Saut à étiquette si SF = OF et ZF = 0.
Indicateurs:
OF DF IF TF SF ZF AF PF CF
43
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
JGE
Saut si supérieur ou égal
JNL
Saut si non inférieur
Format :
JGE étiquette
JNL étiquette
Sémantique :
Indicateurs:
OF DF IF TF SF ZF AF PF CF
44
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
JL
Saut si inférieur
JNGE
Saut si non inférieur ou égal
Format :
JL étiquette
JNGE étiquette
Sémantique :
Indicateurs:
OF DF IF TF SF ZF AF PF CF
45
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
JLE
Saut si inférieur ou égal
JNG
Saut si non supérieur
Format :
JLE étiquette
JNG étiquette
Sémantique :
Indicateurs:
OF DF IF TF SF ZF AF PF CF
46
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
JMP
Saut inconditionel
Format :
JMP étiquette
Sémantique :
Saut à étiquette
•Saut intra-segment (NEAR):
l'adresse de saut est donnée par son déplacement dans le segment CS
courrant.
•Saut inter-segments (FAR):
l'adresse de saut est donnée par un couple CS:IP.
Indicateurs:
OF DF IF TF SF ZF AF PF CF
47
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
JNC
Saut si pas de retenue
Format :
JNC étiquette
Sémantique:
Saut à étiquette si CF = 0.
Indicateurs:
OF DF IF TF SF ZF AF PF CF
48
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
JNE
Saut si non égal
JNZ
Saut si non nul
Format:
JNE étiquette
JNZ étiquette
Sémantique :
Saut à étiquette si ZF = 0.
Indicateurs:
OF DF IF TF SF ZF AF PF CF
49
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
JNO
Saut si non débordement
Format:
JNO étiquette
Sémantique:
Saut à étiquette si OF = 0.
Indicateurs:
OF DF IF TF SF ZF AF PF CF
50
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
JNS
Saut si indicateur de signe à zéro
Format :
JNS étiquette
Sémantique:
Saut à étiquette si SF = 0.
Indicateurs:
OF DF IF TF SF ZF AF PF CF
51
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
JNP
JPO
Saut si imparité
Format :
JNP étiquette
JPO étiquette
Sémantique :
Saut à étiquette si PF = 0.
Indicateurs:
OF DF IF TF SF ZF AF PF CF
52
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
JO
Saut si débordement
Format :
JO étiquette
Sémantique :
Saut à étiquette si OF = 1.
Indicateurs:
OF DF IF TF SF ZF AF PF CF
53
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
JP
JPE
Saut si pair
Format :
JP étiquette
JPE étiquette
Sémantique :
Saut à étiquette si PF = 1.
Indicateurs:
OF DF IF TF SF ZF AF PF CF
54
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
JS
Saut si indicateur de signe à 1
Format :
JP étiquette
Sémantique :
Saut à étiquette si SF = 1.
Indicateurs:
OF DF IF TF SF ZF AF PF CF
55
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
LAHF
Chargement de AH avec les indicateurs
Format :
LAHF
Sémantique :
AH est chargé avec la concaténation de: SF, ZF, ?, AF, ?, PF, ?, CF.
Indicateurs:
OF DF IF TF SF ZF AF PF CF
56
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
LDS
LGS
LSS
LFS
LES
Chargement de pointeur
Format :
Sémantique :
Le registre de segment (DS, GS, SS, FS, ES) et le registre spécifié sont chargés
avec le pointeur rangé en mémoire à adresse_pointeur
Indicateurs:
OF DF IF TF SF ZF AF PF CF
57
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
LEA
Chargement d'adresse effective
Format :
Sémantique :
Indicateurs:
OF DF IF TF SF ZF AF PF CF
58
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
LODS
LODSB
LODSW
LODSD
Chargement d'un élément de chaîne dans AL, AX ou EAX
Format :
LODS adresse_chaine
LODSB adresse_chaine
LODSW adresse_chaine
LODSD adresse_chaine
Sémantique :
Indicateurs:
OF DF IF TF SF ZF AF PF CF
59
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
LOOP
Instruction de bouclage
Format :
Sémantique :
Indicateurs:
OF DF IF TF SF ZF AF PF CF
Description :
60
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
LOOPE
Instruction de bouclage (boucle tant que égal)
LOOPZ
Instruction de bouclage (boucle tant que zéro)
Format :
Sémantique :
Indicateurs:
OF DF IF TF SF ZF AF PF CF
61
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
LOOPNE
Instruction de bouclage (boucle tant que non égal)
LOOPNZ
Instruction de bouclage (boucle tant que non zéro)
Format :
Sémantique :
Indicateurs:
OF DF IF TF SF ZF AF PF CF
62
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
MOV
transfert d'information
Format :
Sémantique :
Indicateurs:
OF DF IF TF SF ZF AF PF CF
63
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
MOVS
MOVSB
MOVSW
MOVSD
Copie de données entre chaînes
Format:
Sémantique :
Indicateurs:
OF DF IF TF SF ZF AF PF CF
64
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
MUL
Multiplication non signée
Format :
MUL accumulateur,opérande
Sémantique :
Indicateurs:
OF DF IF TF SF ZF AF PF CF
M ? ? ? ? M
65
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
NEG
Complément à 2
Format :
NEG opérande
Sémantique :
opérande = 0 - opérande
Indicateurs:
OF DF IF TF SF ZF AF PF CF
M M M M M M
66
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
NOP
Instruction ineffective
Format :
NOP
Sémantique :
Instruction ineffective
Indicateurs:
OF DF IF TF SF ZF AF PF CF
67
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
NOT
Complément à 1
Format :
NOT opérande
Sémantique :
Indicateurs:
OF DF IF TF SF ZF AF PF CF
68
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
OR
OU logique
Format:
OR destination, source
Sémantique :
Indicateurs:
OF DF IF TF SF ZF AF PF CF
0 M M ? M 0
69
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
OUT
Sortie sur un port
Format :
Sémantique :
Indicateurs:
OF DF IF TF SF ZF AF PF CF
70
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
POP
Dépiler un mot
Format :
POP destination
Sémantique :
POP transfère le mot situé au sommet de la pile (pointé par SP) dans opérande,
puis incrémente SP de 2 pour qu'il pointe vers le nouveau sommet de la pile.
Indicateurs:
OF DF IF TF SF ZF AF PF CF
71
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
POPA
Dépiler tous les registres 16 bits
Format :
POPA
Sémantique :
POPA dépile les 8 mots en sommet de pile et les charge dans les registres DI,
SI, BP, BX, DX, CX, AX, en incrémentant SP de 16 pour qu'il pointe vers le
nouveau sommet de la pile.
Indicateurs:
OF DF IF TF SF ZF AF PF CF
72
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
POPAD
Dépiler tous les registres 32 bits
Format :
POPAD
Sémantique :
POPAD dépile les 8 doubles mots en sommet de pile et les charge dans les
registres EDI, ESI, EBP, EBX, EDX, ECX, EAX, en incrémentant SP de 32 pour
qu'il pointe vers le nouveau sommet de la pile.
Indicateurs:
OF DF IF TF SF ZF AF PF CF
73
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
POPF
Dépile les indicateurs
Format :
POPF
Sémantique :
POPF transfère le mot situé au sommet de la pile (pointé par SP) dans le
registre des indicateurs (octet de poids fort), puis incrémente SP de 2 pour qu'il
pointe vers le nouveau sommet de la pile.
Indicateurs:
OF DF IF TF SF ZF AF PF CF
M M M M M M M M M
74
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
PUSH
Empilement de données 16 ou 32 bits
Format :
PUSH source
Sémantique :
Indicateurs:
OF DF IF TF SF ZF AF PF CF
75
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
PUSHA
Empiler tous les registres 16 bits
Format :
PUSHA
Sémantique :
PUSHA empile les registres DI, SI, BP, BX, DX, CX, AX, en décrémentant SP de
16 pour qu'il pointe vers le nouveau sommet de la pile.
Indicateurs:
OF DF IF TF SF ZF AF PF CF
76
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
PUSHAD
Empiler tous les registres 32 bits
Format :
PUSHAD
Sémantique :
PUSHAD empile les registres EDI, ESI, EBP, EBX, EDX, ECX, EAX, en
décrémentant SP de 32 pour qu'il pointe vers le nouveau sommet de la pile.
Indicateurs:
OF DF IF TF SF ZF AF PF CF
77
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
PUSHF
Empiler les indicateurs
Format :
PUSHF
Sémantique :
Indicateurs:
OF DF IF TF SF ZF AF PF CF
78
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
RCL
Rotation à gauche au travers l'indicateur de retenue
Format :
Sémantique :
RCL provoque une rotation vers la gauche de l'ensemble des bits de (CF-
opérande). Le nombre de bits décalés est spécifié dans compte.
Indicateurs:
OF DF IF TF SF ZF AF PF CF
M M
79
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
RCR
Rotation à droite au travers l'indicateur de retenue
Format :
Sémantique :
RCR provoque une rotation vers la droite de l'ensemble des bits de (opérande-
CF). Le nombre de bits décalés est spécifié dans compte.
Indicateurs:
OF DF IF TF SF ZF AF PF CF
M M
80
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
REP
Préfixe de répétition
REPE
Préfixe de répétition tant que égal
REPZ
Préfixe de répétition tant que zéro
Format :
REP instruction_de_chaîne
REPE instruction_de_chaîne
REPZ instruction_de_chaîne
Sémantique:
Le préfixe REP est employé avec les instructions de chaîne MOVS et STOS dont
ils provoquent la répétition ainsi que la décrémentation de CX. Ceci se poursuit
tant que CX différent_de 0. REPE et REPZ sont employés avec les instructions
CMPS et SCAS. Dans ce cas, la répétition s'arrête si ZF= 0 ou CX = 0.
Indicateurs:
OF DF IF TF SF ZF AF PF CF
81
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
REPNE
Préfixe de répétition tant que non égal
REPNZ
Préfixe de répétition tant que différent de zéro
Format :
REPNE instruction_de_chaîne
REPNZ instruction_de_chaîne
Sémantique:
Les préfixes REPNE et REPNZ sont employés avec les instructions CMPS et
SCAS. Dans ce cas la répétition s'arrête si ZF = 1 ou CX = 0.
Indicateurs:
OF DF IF TF SF ZF AF PF CF
82
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
RET
Retour de sous-programme
Format :
Sémantique :
RET provoque le retour d'un sous-programme vers l'instruction qui suit le CALL
qui a appelé ce sous-programme. Si une valeur_de_dépilement (facultative) a
été spécifiée, RET ajoute cette valeur à SP. Cette possibilité peut être utilisée
pour enlever des paramètres empilés.
Indicateurs:
OF DF IF TF SF ZF AF PF CF
83
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
ROL
Rotation à gauche
Format :
Sémantique :
ROL provoque une rotation vers la gauche des bits de opérande. Le nombre de
bits décalés est spécifié dans compte. Le dernier bit sorti à gauche de opérande
est rangé dans CF.
Indicateurs:
OF DF IF TF SF ZF AF PF CF
M M
84
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
ROR
Rotation à droite
Format :
Sémantique :
ROR provoque une rotation vers la droite des bits de opérande. Le nombre de
bits décalés est spécifié dans compte. Le dernier bit sorti à droite de opérande
est rangé dans CF.
Indicateurs:
OF DF IF TF SF ZF AF PF CF
M M
85
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
SAHF
Rangement de AH dans les indicateurs
Format :
SAHF
Sémantique :
Indicateurs:
OF DF IF TF SF ZF AF PF CF
M M M M M
86
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
SAL
Décalage arithmétique gauche
SHL
Décalage logique gauche
Format :
Sémantique :
Les instructions SAL et SHL provoquent un décalage vers la gauche des bits de
opérande. Le nombre de bits décalés est spécifié dans compte. opérande est
garni à droite par des 0. Le dernier bit sorti à gauche de opérande est rangé
dans CF.
Indicateurs:
OF DF IF TF SF ZF AF PF CF
M M M ? M M
87
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
SAR
Décalage arithmétique droite
Format :
Sémantique :
Indicateurs:
OF DF IF TF SF ZF AF PF CF
M M M ? M M
88
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
SBB
Soustraction avec retenue
Format :
Sémantique :
Indicateurs:
OF DF IF TF SF ZF AF PF CF
M M M M M M
89
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
SCAS
SCASB
SCASW
SCASD
Compare un élément de chaîne avec AL, AX ou EAX
Format :
SCAS adresse_chaine
SCASB adresse_chaine
adresse_chaine: octet
SCASW adresse_chaine
adresse_chaine: mot
SCASD adresse_chaine
adresse_chaine: double-mot
Sémantique :
Cette instruction peut être précédée d'un préfixe de répétition: REPE, REPZ,
REPNE, REPNZ.
Indicateurs:
OF DF IF TF SF ZF AF PF CF
90
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
M M M M M M
91
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
SHR
Décalage logique droite
Format :
Sémantique :
Indicateurs:
OF DF IF TF SF ZF AF PF CF
M M M ? M M
92
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
STC
Mise à un de l'indicateur de retenue
Format :
STC
Sémantique :
CF = 1
Indicateurs:
OF DF IF TF SF ZF AF PF CF
1
93
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
STD
Mise à un de l'indicateur de progression
Format :
STD
Sémantique :
DF = 1
Indicateurs:
OF DF IF TF SF ZF AF PF CF
1
94
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
STI
Mise à un de l'indicateur d'interruption
Format :
STI
Sémantique :
IF = 1
Indicateurs:
OF DF IF TF SF ZF AF PF CF
1
95
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
STOS
STOSB
STOSW
STOSD
Chargement d'un élément de chaîne à partir de AL, AX ou EAX
Format :
STOS adresse_chaine
STOSB adresse_chaine
adresse_chaine: octet
STOSW adresse_chaine
adresse_chaine: mot
STOSD adresse_chaine
adresse_chaine: double-mot
Sémantique :
Indicateurs:
OF DF IF TF SF ZF AF PF CF
96
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
SUB
Soustraction
Format :
Sémantique :
Indicateurs:
OF DF IF TF SF ZF AF PF CF
M M M M M M
97
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
TEST
Test des opérandes
Format :
destination, source peuvent être des octets, des mots ou des doubles mots
Sémantique:
Indicateurs:
OF DF IF TF SF ZF AF PF CF
0 M M ? M 0
98
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
XADD
permutation et addition
Format :
Sémantique :
source = destination
Indicateurs:
OF DF IF TF SF ZF AF PF CF
M M M M M M
99
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
XCHG
échange
Format :
Sémantique :
Indicateurs:
OF DF IF TF SF ZF AF PF CF
100
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
XLAT
XLATB
Traduction
Format:
XLAT nom_de_table
XLATB
Sémantique:
Indicateurs:
OF DF IF TF SF ZF AF PF CF
101
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)
XOR
OU exclusif
Format :
Sémantique :
Indicateurs:
OF DF IF TF SF ZF AF PF CF
0 M M ? M 0
102
©CNAM, sept. 1999 Sélection d'instructions du 8x86
cours d'Informatique Industrielle (mode réel)