Sei sulla pagina 1di 14

Ing.

Gabriele MONTI 1999 - 2005

Istruzioni X86

www.ingmonti.it

1. Appendice C: Set d'istruzioni della famiglia X86


Legenda per la colonna mnemonici:
cc
da sostituire con la lettera del flag, COMe da colonne flag
Legenda per la colonna CPU:
Blank
istruzione presente nel set dell'8086
FPU
coprocessore (Floating Point Unit)
MMX
unit MMX (MULtimedia Extentions)
186
introdotta con l'80186
286
introdotta con l'80286
386
introdotta con l'80386
486
introdotta il 486
PENT
introdotta con il Pentium
P6
introdotta con il Pentium II
CYRIX
usata nelle CPU COMpatibili della Cyrix
PRIV
funziona solo in privileged mode, modo protetto
Legenda per la colonna operandi delle istruzioni:
imm, imm8, imm16, imm32
operando in immediato, di diverse dimensioni
reg, reg8, reg16, reg32
registro di diverse dimensioni (esclusi i registri di segmento)
segreg
registro di segmento
r/m8, r/m16, r/m32
registro oppure accesso alla memoria, di diverse dimensioni
mmxreg
registro dell'unit MMX
mem, mem16, mem32, mem64, mem80
locazioni di memoria raggiungibili con le regole di accesso alla memoria e
gli indirizzamenti della relativa CPU, di diverse dimensioni
memoffs8, memoffs16, memoffs32
offset dell'indirizzo di un elemento di memoria da 8, 16, 32 bit
ST08086, ST0
stack usati dal coprocessore
FPUreg
registro dell'unit a virgola mobile o coprocessore
Legenda per la colonna opcode:
rb, rw, rd
un codice numerico che indica un registro, da 8 (byte), 16 (word) o 32 bit (double)
aggiunto all'opcode indicato a formare un singolo opcode
ib, iw, id
un operando in immediato da 8, 16 o 32 bit
/0, /1, /2, .. , /7
codifica relativa all'indirizzamento (vedi modR/m byte in doc. Intel)
/r
codifica relativa all'indirizzamento (vedi modR/m byte in doc. Intel)
o16, o32
offset in immediato, da 16 o da 32 bit
cc
codice numerico di uno qualsiasi dei flag della CPU
a16, a32
????solo nello LOOP, capire cos' ????
ob, ow, od
offset dell'indirizzo di un elemento di memoria da 8, 16, 32 bit
Legenda per le colonne dei flag:
t
Test:
l'istruzione guarda il valore del flag
m Modify: l'istruzione modifica il valore di quel flag secondo le sue regole
0
Reset:
l'istruzione mette a zero il flag
1
Set:
l'istruzione mette a 1 il flag
?
Undefined: l'istruzione modifica il flag in modo imprevedibile
Blank
l'istruzione non ha alcun effetto sul flag
Mnemonico

Possibili operandi

AAA
AAS
AAD
imm
AAm
ADC

A3 Set8086.sxw

imm
r/m8,reg8
r/m16,reg16
r/m32,reg32
reg8,r/m8
reg16,r/m16
reg32,r/m32

Opcode
37
3F
D5 0A
D5 ib
D4 0A
D4 ib
10 /r
o16 11 /r
o32 11 /r
12 /r
O16 13 /r
O32 13 /r

CPU

?
?
?

?
?
m

?
?
m

tm ?
tm ?
? m

m
m
?

tm

N
T

386
386

Ver. 0.9.0 1999-07-10

p. 1 di 14

Ing. Gabriele MONTI

ADD

AND

ARPL
BOUND
BSF
BSR
BSWAP
BT

r/m8,imm8
r/m16,imm16
r/m32,imm32
r/m16, imm8
r/m32, imm8
AL, imm8
AX, imm16
EAX, imm32
r/m8, reg8
r/m16, reg16
r/m32, reg32
reg8, r/m8
reg16, r/m16
reg32, r/m32
r/m8, imm8
r/m16, imm16
r/m32, imm32
r/m16, imm8
r/m32, imm8
AL, imm8
AX, imm16
EAX, imm32
r/m8, reg8
r/m16, reg16
r/m32, reg32
reg8, r/m8
reg16, r/m16
reg32, r/m32
r/m8, imm8
r/m16, imm16
r/m32, imm32
r/m16, imm8
r/m32, imm8
AL, imm8
AX, imm16
EAX, imm32
r/m16, reg16
reg16, mem
reg32, mem
reg16, r/m16
reg32, r/m32
reg16, r/m16
reg32, r/m32
reg32
r/m16, reg16
r/m32, reg32
r/m16, imm8
r/m32, imm8

BTC

r/m16, reg16
r/m32, reg32
r/m16, imm8
r/m32, imm8

BTR

r/m16, reg16
r/m32, reg32
r/m16, imm8
r/m32, imm8

BTS
p. 2 di 14

r/m16, reg16

www.ingmonti.it
80 /2 ib
o16 81 /2 iw
o32 81 /2 id
o16 83 /2 ib
o32 83 /2 ib
14 ib
o16 15 iw
o32 15 id
00 /r
o16 01 /r
o32 01 /r
02 /r
o16 03 /r
o32 03 /r
80 /0 ib
o16 81 /0 iw
o32 81 /0 id
o16 83 /0 ib
o32 83 /0 ib
04 ib
o16 05 iw
o32 05 id
20 /r
o16 21 /r
o32 21 /r
22 /r
o16 23 /r
o32 23 /r
80 /4 ib
o16 81 /4 iw
o32 81 /4 id
o16 83 /4 ib
o32 83 /4 ib
24 ib
o16 25 iw
o32 25 id
63 /r
o16 62 /r
o32 62 /r
o16 0F BC /r
o32 0F BC /r
o16 0F BD /r
o32 0F BD /r
o32 0F C8+r
o16 0F A3 /r
o32 0F A3 /r
o16 0F BA /4
ib
o32 0F BA /4
ib
o16 0F BB /r
o32 0F BB /r
o16 0F BA /7
ib
o32 0F BA /7
ib
o16 0F B3 /r
o32 0F B3 /r
o16 0F BA /6
ib
o32 0F BA /6
ib
o16 0F AB /r

386
386
386
m

386
386
386
386
386
386
386
386
386
386
286, PRIV
186
386
386
386
386
386
486
386
386
386

m
?

386
386
386
386
386
386
386
386
386
386

1999-07-10

A3 Set8086.sxw

Ing. Gabriele MONTI 1999 - 2005


r/m32, reg32
r/m16, imm
r/m32, imm
CALL

CBW
CWD
CDQ
CWDE
CLC
CLD
CLI
CLTS
CmC
CMOVcc

imm
imm:imm16
imm:imm32
FAR mem16
FAR mem32
r/m16
r/m32

reg16, r/m16
reg32, r/m32

CMP

CMPSB
CMPSW
CMPSD
CMPXCHG
CMPXCHG8B
DAA
DAS
DEC

DIV
EmmS
ENTER
F2Xm1
FABS
FADD
A3 Set8086.sxw

r/m8, reg8
r/m16, reg16
r/m32, reg32
reg8, r/m8
reg16, r/m16
reg32, r/m32
r/m8, imm8
r/m16, imm16
r/m32, imm32
r/m16, imm8
r/m32, imm8
AL, imm8
AX, imm16
EAX, imm32

r/m8, reg8
r/m16, reg16
r/m32, reg32
mem

reg16
reg32
r/m8
r/m16
r/m32
r/m8
r/m16
r/m32
imm, imm
mem32
mem64

Istruzioni X86
o32 0F AB /r
o16 0F BA /5
ib
o32 0F BA /5
ib
E8 rw/rd
o16 9A iw iw
o32 9A id iw
o16 FF /3
o32 FF /3
o16 FF /2
o32 FF /2
o16 98
o16 99
o32 99
o32 98
F8
FC
FA
0F 06
F5
o16 0F
40+cc /r
o32 0F
40+cc /r
38 /r
o16 39 /r
o32 39 /r
3A /r
o16 3B /r
o32 3B /r
80 /0 ib
o16 81 /0 iw
o32 81 /0 id
o16 83 /0 ib
o32 83 /0 ib
3C ib
o16 3D iw
o32 3D id
A6
o16 A7
o32 A7
0F B0 /r
o16 0F B1 /r
o32 0F B1 /r
0F C7 /1
27
2F
o16 48+r
o32 48+r
FE /1
o16 FF /1
o32 FF /1
F6 /6
o16 F7 /6
o32 F7 /6
0F 77
C8 iw ib
D9 F0
D9 E1
D8 /0
DC /0

www.ingmonti.it

386
386
386

386
386
386
386
386
0
0
0
286, PRIV
P6

m
m
m
m

m
m
m
m

m
m
m
m

m
t

m
m
m
m

m
m
m
m

m
m
m
m

P6

386
386
386
386
386
386
PENT
PENT
PENT
PENT

m
?
?
m

m
m
m

m
m
m

tm m
tm m
m m

tm
tm

386
386
?

386
PENT mmX
186
8086, FPU
8086, FPU
8086, FPU
8086, FPU

Ver. 0.9.0 1999-07-10

p. 3 di 14

Ing. Gabriele MONTI

FADDP
FBLD
FBSTP
FCHS
FCLEX
FNCLEX
FCMOVB
FCMOVBE
FCMOVE
FCMOVNB
FCMOVNBE
FCMOVNE
FCMOVNU
FCMOVU
FCOM

FCOMP

FCOMPP
FCOMI
FCOMIP
FCOS
FDECSTP
FDISI
FNDISI
FENI
FNENI
FDIV

FDIVR

FDIVP
FDIVRP
FFREE
p. 4 di 14

FPUreg
ST08086, FPUreg
TO FPUreg
FPUreg, ST0
FPUreg
FPUreg, ST0
mem80
mem80

FPUreg
ST08086, FPUreg
FPUreg
ST08086, FPUreg
FPUreg
ST08086, FPUreg
FPUreg
ST08086, FPUreg
FPUreg
ST08086, FPUreg
FPUreg
ST08086, FPUreg
FPUreg
ST08086, FPUreg
FPUreg
ST08086, FPUreg
mem32
mem64
FPUreg
ST08086, FPUreg
mem32
mem64
FPUreg
ST08086, FPUreg
FPUreg
ST08086, FPUreg
FPUreg
ST08086, FPUreg

mem32
mem64
FPUreg
ST08086, FPUreg
TO FPUreg
FPUreg, ST0
mem32
mem64
FPUreg
ST08086, FPUreg
TO FPUreg
FPUreg, ST0
FPUreg
FPUreg, ST0
FPUreg
FPUreg, ST0
FPUreg

www.ingmonti.it
D8 C0+r
D8 C0+r
DC C0+r
DC C0+r
DE C0+r
DE C0+r
DF /4
DF /6
D9 E0
9B DB E2
DB E2
DA C0+r
DA C0+r
DA D0+r
DA D0+r
DA C8+r
DA C8+r
DB C0+r
DB C0+r
DB D0+r
DB D0+r
DB C8+r
DB C8+r
DB D8+r
DB D8+r
DA D8+r
DA D8+r
D8 /2
DC /2
D8 D0+r
D8 D0+r
D8 /3
DC /3
D8 D8+r
D8 D8+r
DE D9
DB F0+r
DB F0+r
DF F0+r
DF F0+r
D9 FF
D9 F6
9B DB E1
DB E1
9B DB E0
DB E0
D8 /6
DC /6
D8 F0+r
D8 F0+r
DC F8+r
DC F8+r
D8 /0
DC /0
D8 F8+r
D8 F8+r
DC F0+r
DC F0+r
DE F8+r
DE F8+r
DE F0+r
DE F0+r
DD C0+r

8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
P6, FPU
P6, FPU
P6, FPU
P6, FPU
P6, FPU
P6, FPU
P6, FPU
P6, FPU
P6, FPU
P6, FPU
P6, FPU
P6, FPU
P6, FPU
P6, FPU
P6, FPU
P6, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
P6, FPU
P6, FPU
P6, FPU
P6, FPU
386, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
1999-07-10

A3 Set8086.sxw

Ing. Gabriele MONTI 1999 - 2005


FIADD
FICOM
FICOMP
FIDIV
FIDIVR
FILD
FIST
FISTP
FIMUL
FINCSTP
FINIT
FNINIT
FISUB
FISUBR
FLD

FLD1
FLDL2E
FLDL2T
FLDLG2
FLDLN2
FLDPI
FLDZ
FLDCW
FLDENV
FMUL

FMULP
FNOP
FPATAN
FPTAN
FPREM
FPREM1
FRNDINT
FSAVE
FNSAVE
FRSTOR
FSCALE
FSETPm
FSIN
FSINCOS
FSQRT
FST
A3 Set8086.sxw

mem16
mem32
mem16
mem32
mem16
mem32
mem16
mem32
mem16
mem32
mem16
mem32
mem64
mem16
mem32
mem16
mem32
mem64
mem16
mem32

mem16
mem32
mem16
mem32
mem32
mem64
mem80
FPUreg

mem16
mem
mem32
mem64
FPUreg
ST08086, FPUreg
TO FPUreg
FPUreg, ST0
FPUreg
FPUreg, ST0

mem
mem
mem

mem32

Istruzioni X86
DE /0
DA /0
DE /2
DA /2
DE /3
DA /3
DE /6
DA /6
DE /0
DA /0
DF /0
DB /0
DF /5
DF /2
DB /2
DF /3
DB /3
DF /0
DE /1
DA /1
D9 F7
9B DB E3
DB E3
DE /4
DA /4
DE /5
DA /5
D9 /0
DD /0
DB /5
D9 C0+r
D9 E8
D9 EA
D9 E9
D9 EC
D9 ED
D9 EB
D9 EE
D9 /5
D9 /4
D8 /1
DC /1
D8 C8+r
D8 C8+r
DC C8+r
DC C8+r
DE C8+r
DE C8+r
D9 D0
D9 F3
D9 F2
D9 F8
D9 F5
D9 FC
9B DD /6
DD /6
DD /4
D9 FD
DB E4
D9 FE
D9 FB
D9 FA
D9 /2

www.ingmonti.it

8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
386, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
286, FPU
386, FPU
386, FPU
8086, FPU
8086, FPU

Ver. 0.9.0 1999-07-10

p. 5 di 14

Ing. Gabriele MONTI

FSTP

FSTCW
FNSTCW
FSTENV
FNSTENV
FSTSW
FNSTSW
FSUB

FSUBR

FSUBP
FSUBRP
FTST
FUCOM
FUCOMP
FUCOMPP
FUCOMI
FUCOMIP

mem64
FPUreg
mem32
mem64
mem80
FPUreg
mem16
mem16
mem
mem
mem16
AX
mem16
AX
mem32
mem64
FPUreg
ST08086, FPUreg
TO FPUreg
FPUreg, ST0
mem32
mem64
FPUreg
ST08086, FPUreg
TO FPUreg
FPUreg, ST0
FPUreg
FPUreg, ST0
FPUreg
FPUreg, ST0
FPUreg
ST08086, FPUreg
FPUreg
ST08086, FPUreg
FPUreg
ST08086, FPUreg
FPUreg
ST08086, FPUreg

FXAm
FXCH
FPUreg
FPUreg, ST0
ST08086, FPUreg
FXTRACT
FYL2X
FYL2XP1
HLT
IDIV
IMUL

p. 6 di 14

r/m8
r/m16
r/m32
r/m8
r/m16
r/m32
reg16, r/m16
reg32, r/m32
reg16, imm8
reg16, imm16
reg32, imm8
reg32, imm32
reg16, r/m16, imm8
reg16, r/m16, imm16

www.ingmonti.it
DD /2
DD D0+r
D9 /3
DD /3
DB /0
DD D8+r
9B D9 /0
D9 /0
9B D9 /6
D9 /6
9B DD /0
9B DF E0
DD /0
DF E0
D8 /4
DC /4
D8 E0+r
D8 E0+r
DC E8+r
DC E8+r
D8 /5
DC /5
D8 E8+r
D8 E8+r
DC E0+r
DC E0+r
DE E8+r
DE E8+r
DE E0+r
DE E0+r
D9 E4
DD E0+r
DD E0+r
DD E8+r
DD E8+r
DA E9
DB E8+r
DB E8+r
DF E8+r
DF E8+r
D9 E5
D9 C9
D9 C8+r
D9 C8+r
D9 C8+r
D9 F4
D9 F1
D9 F9
F4
F6 /7
o16 F7 /7
o32 F7 /7
F6 /5
o16 F7 /5
o32 F7 /5
o16 0F AF /r
o32 0F AF /r
o16 6B /r ib
o16 69 /r iw
o32 6B /r ib
o32 69 /r id
o16 6B /r ib
o16 69 /r iw

8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
286, FPU
8086, FPU
286, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
386, FPU
386, FPU
386, FPU
386, FPU
386, FPU
P6, FPU
P6, FPU
P6, FPU
P6, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU
8086, FPU

386
386
386
386
286
286
386
386
286
286

1999-07-10

A3 Set8086.sxw

Ing. Gabriele MONTI 1999 - 2005

IN

INC

INSB
INSW
INSD
INT
INT1
ICEBP
INT01
INT3
INTO
INVD
INVLPG
IRET
IRETW
IRETD
JCXZ
JECXZ
JMP

J<cc>
LAHF
LAR
LDS
LES
LFS
LGS
LSS
LEA
LEAVE
LGDT
LIDT
LMSW
LODSB
LODSW
LODSD
A3 Set8086.sxw

reg32, r/m32, imm8


reg32, r/m32, imm32
AL, imm8
AX, imm8
EAX, imm8
AL, DX
AX, DX
EAX, DX
reg16
reg32
r/m8
r/m16
r/m32

imm8

mem

imm
imm
imm
SHORT imm
imm:imm16
imm:imm32
FAR mem
FAR mem
r/m16
r/m32
imm
NEAR imm
reg16, r/m16
reg32, r/m32
reg16, mem
reg32, mem
reg16, mem
reg32, mem
reg16, mem
reg32, mem
reg16, mem
reg32, mem
reg16, mem
reg32, mem
reg16, mem
reg32, mem
mem
mem
r/m16
r/m16

Istruzioni X86
o32 6B /r ib
o32 69 /r id
E4 ib
o16 E5 ib
o32 E5 ib
EC
o16 ED
o32 ED
o16 40+r
o32 40+r
FE /0
o16 FF /0
o32 FF /0
6C
o16 6D
o32 6D
CD ib
F1
F1
F1
CC
CE
0F 08
0F 01 /0
CF
o16 CF
o32 CF
o16 E3 rb
o32 E3 rb
E9 rw/rd
EB rb
o16 EA iw iw
o32 EA id iw
o16 FF /5
o32 FF /5
o16 FF /4
o32 FF /4
70+cc rb
0F 80+cc
rw/rd
9F
o16 0F 02 /r
o32 0F 02 /r
o16 C5 /r
o32 C5 /r
o16 C4 /r
o32 C4 /r
o16 0F B4 /r
o32 0F B4 /r
o16 0F B5 /r
o32 0F B5 /r
o16 0F B2 /r
o32 0F B2 /r
o16 8D /r
o32 8D /r
C9
0F 01 /2
0F 01 /3
0F 00 /2
0F 01 /6
AC
o16 AD
o32 AD

www.ingmonti.it

386
386
386
386
m

386
386
186
186
386
P6
P6
P6

t
!!
!!
!!
t

0
0

0
0

486
486
386

r
r
r

r
r
r

r
r
r

r
r
r

r
r
r

r
r
r

r
r
r

r
r
r

r
r
r

t
t
t

386

386
386
386
386
286, PRIV
286, PRIV

386
386
386
386
386
386
186
286, PRIV
286, PRIV
286, PRIV
286, PRIV
386

Ver. 0.9.0 1999-07-10

t
t
t
p. 7 di 14

Ing. Gabriele MONTI


LOOP
LOOPE
LOOPZ
LOOPNE
LOOPNZ
LTR
MOV

MOVD
MOVQ
MOVSB
MOVSW
MOVSD
MOVSX
MOVZX
MUL
NEG

p. 8 di 14

imm
imm, CX
imm, ECX
imm
imm, CX
imm, ECX
imm
imm, CX
imm, ECX
imm
imm, CX
imm, ECX
imm
imm, CX
imm, ECX
r/m16
r/m8, reg8
r/m16, reg16
r/m32, reg32
reg8, r/m8
reg16, r/m16
reg32, r/m32
reg8, imm8
reg16, imm16
reg32, imm32
r/m8, imm8
r/m16, imm16
r/m32, imm32
AL, memoffs8
AX, memoffs16
EAX, memoffs32
memoffs8, AL
memoffs16, AX
memoffs32, EAX
r/m16, segreg
r/m32, segreg
segreg, r/m16
segreg, r/m32
reg32, CR0/2/3/4
reg32, DR0/1/2/3/6/7
reg32, TR3/4/5/6/7
CR0/2/3/4, reg32
DR0/1/2/3/6/7, reg32
TR3/4/5/6/7, reg32
mmxreg, r/m32
r/m32, mmxreg
mmxreg, r/m64
r/m64, mmxreg

reg16, r/m8
reg32, r/m8
reg32, r/m16
reg16, r/m8
reg32, r/m8
reg32, r/m16
r/m8
r/m16
r/m32
r/m8
r/m16
r/m32

www.ingmonti.it
E2 rb
a16 E2 rb
a32 E2 rb
E1 rb
a16 E1 rb
a32 E1 rb
E1 rb
a16 E1 rb
a32 E1 rb
E0 rb
a16 E0 rb
a32 E0 rb
E0 rb
a16 E0 rb
a32 E0 rb
0F 00 /3
88 /r
o16 89 /r
o32 89 /r
8A /r
o16 8B /r
o32 8B /r
B0+r ib
o16 B8+r iw
o32 B8+r id
C6 /0 ib
o16 C7 /0 iw
o32 C7 /0 id
A0 ow/od
o16 A1 ow/od
o32 A1 ow/od
A2 ow/od
o16 A3 ow/od
o32 A3 ow/od
o16 8C /r
o32 8C /r
o16 8E /r
o32 8E /r
0F 20 /r
0F 21 /r
0F 24 /r
0F 22 /r
0F 23 /r
0F 26 /r
0F 6E /r
0F 7E /r
0F 6F /r
0F 7F /r
A4
o16 A5
o32 A5
o16 0F BE /r
o32 0F BE /r
o32 0F BF /r
o16 0F B6 /r
o32 0F B6 /r
o32 0F B7 /r
F6 /4
o16 F7 /4
o32 F7 /4
F6 /3
o16 F7 /3
o32 F7 /3

386
t
386
t
386
t
386
t
386
286, PRIV
386
386
386
386
386
386
386
386
386
386
386
386
386
386
PENT mmX
PENT mmX
PENT mmX
PENT mmX
t
t
t

386
386
386
386
386
386
386
m

386
386

1999-07-10

A3 Set8086.sxw

Ing. Gabriele MONTI 1999 - 2005


NOT
NOP
OR

OUT

OUTSB
OUTSW
OUTSD
PACKSSDW
PACKSSWB
PACKUSWB
PADDB
PADDW
PADDD
PADDSB
PADDSW
PADDUSB
PADDUSW
PADDSIW
PAND
PANDN
PAVEB
PAVEB
PCMPEQW
PCMPEQD
PCMPGTB
PCMPGTW
PCMPGTD
PDISTIB
PMACHRIW
PMADDWD
PMAGW
PMULHRW
PMULHRIW
PMULHW
PMULLW
PMVZB
PMVNZB
PMVLZB
PMVGEZB
POP

A3 Set8086.sxw

r/m8
r/m16
r/m32
r/m8, reg8
r/m16, reg16
r/m32, reg32
reg8, r/m8
reg16, r/m16
reg32, r/m32
r/m8, imm8
r/m16, imm16
r/m32, imm32
r/m16, imm8
r/m32, imm8
AL, imm8
AX, imm16
EAX, imm32
imm8, AL
imm8, AX
imm8, EAX
DX, AL
DX, AX
DX, EAX

mmxreg, r/m64
mmxreg, r/m64
mmxreg, r/m64
mmxreg, r/m64
mmxreg, r/m64
mmxreg, r/m64
mmxreg, r/m64
mmxreg, r/m64
mmxreg, r/m64
mmxreg, r/m64
mmxreg, r/m64
mmxreg, r/m64
mmxreg, r/m64
mmxreg, r/m64
mmxreg, r/m64
mmxreg, r/m64
mmxreg, r/m64
mmxreg, r/m64
mmxreg, r/m64
mmxreg, r/m64
mmxreg, mem64
mmxreg, mem64
mmxreg, r/m64
mmxreg, r/m64
mmxreg, r/m64
mmxreg, r/m64
mmxreg, r/m64
mmxreg, r/m64
mmxreg, mem64
mmxreg, mem64
mmxreg, mem64
mmxreg, mem64
reg16
reg32
r/m16
r/m32

Istruzioni X86
F6 /2
o16 F7 /2
o32 F7 /2
90
08 /r
o16 09 /r
o32 09 /r
0A /r
o16 0B /r
o32 0B /r
80 /1 ib
o16 81 /1 iw
o32 81 /1 id
o16 83 /1 ib
o32 83 /1 ib
0C ib
o16 0D iw
o32 0D id
E6 ib
o16 E7 ib
o32 E7 ib
EE
o16 EF
o32 EF
6E
o16 6F
o32 6F
0F 6B /r
0F 63 /r
0F 67 /r
0F FC /r
0F FD /r
0F FE /r
0F EC /r
0F ED /r
0F DC /r
0F DD /r
0F 51 /r
0F DB /r
0F DF /r
0F 50 /r
0F 74 /r
0F 75 /r
0F 76 /r
0F 64 /r
0F 65 /r
0F 66 /r
0F 54 /r
0F 5E /r
0F F5 /r
0F 52 /r
0F 59 /r
0F 5D /r
0F E5 /r
0F D5 /r
0F 58 /r
0F 5A /r
0F 5B /r
0F 5C /r
o16 58+r
o32 58+r
o16 8F /0
o32 8F /0

www.ingmonti.it

386
0

386
386
386
386
386
386
386
186
186
386
PENT mmX
!!
PENT mmX
!!
PENT mmX
!!
PENT mmX
PENT mmX
PENT mmX
PENT mmX
PENT mmX
PENT mmX
PENT mmX
CYRIX mmX
PENT mmX
PENT mmX
CYRIX mmX
PENT mmX
PENT mmX
PENT mmX
PENT mmX
PENT mmX
PENT mmX
CYRIX mmX
CYRIX mmX
PENT mmX
CYRIX mmX
CYRIX mmX
CYRIX mmX
PENT mmX
PENT mmX
CYRIX mmX
CYRIX mmX
CYRIX mmX
CYRIX mmX

t
t
t

386
386

Ver. 0.9.0 1999-07-10

p. 9 di 14

Ing. Gabriele MONTI


DS
ES
SS
FS
GS
POPA
POPAW
POPAD
POPF
POPFW
POPFD
POR
PSLLW
PSLLD
PSLLQ
PSRAW
PSRAD
PSRLW
PSRLD
PSRLQ
PSRLQ
PSUBW
PSUBD
PSUBSB
PSUBSW
PSUBUSB
PSUBUSW
PSUBSIW
PUNPCKHBW
PUNPCKHWD
PUNPCKHDQ
PUNPCKLBW
PUNPCKLWD
PUNPCKLDQ
PUSH

PUSHA
PUSHAD
PUSHAW
p. 10 di 14

www.ingmonti.it

mmxreg, r/m64
mmxreg, r/m64
mmxreg, imm8
mmxreg, r/m64
mmxreg, imm8
mmxreg, r/m64
mmxreg, imm8
mmxreg, r/m64
mmxreg, imm8
mmxreg, r/m64
mmxreg, imm8
mmxreg, r/m64
mmxreg, imm8
mmxreg, r/m64
mmxreg, imm8
mmxreg, r/m64
mmxreg, imm8
mmxreg, r/m64
mmxreg, r/m64
mmxreg, r/m64
mmxreg, r/m64
mmxreg, r/m64
mmxreg, r/m64
mmxreg, r/m64
mmxreg, r/m64
mmxreg, r/m64

1F
07
17
0F A1
0F A9
61
o16 61
o32 61
9D
o16 9D
o32 9D
0F EB /r
0F F1 /r
0F 71 /6 ib
0F F2 /r
0F 72 /6 ib
0F F3 /r
0F 73 /6 ib
0F E1 /r
0F 71 /4 ib
0F E2 /r
0F 72 /4 ib
0F D1 /r
0F 71 /2 ib
0F D2 /r
0F 72 /2 ib
0F D3 /r
0F 73 /2 ib
0F F8 /r
0F F9 /r
0F FA /r
0F E8 /r
0F E9 /r
0F D8 /r
0F D9 /r
0F 55 /r
0F 68 /r

386
386
186
186
386
186
186
386
PENT mmX
PENT mmX
PENT mmX
PENT mmX
PENT mmX
PENT mmX
PENT mmX
PENT mmX
PENT mmX
PENT mmX
PENT mmX
PENT mmX
PENT mmX
PENT mmX
PENT mmX
PENT mmX
PENT mmX
PENT mmX
PENT mmX
PENT mmX
PENT mmX
PENT mmX
PENT mmX
PENT mmX
CYRIX mmX
PENT mmX

mmxreg, r/m64

0F 69 /r

PENT mmX

mmxreg, r/m64

0F 6A /r

PENT mmX

mmxreg, r/m64

0F 60 /r

PENT mmX

mmxreg, r/m64

0F 61 /r

PENT mmX

mmxreg, r/m64
reg16
reg32
r/m16
r/m32
CS
DS
ES
SS
FS
GS
imm8
imm16
imm32

0F 62 /r
o16 50+r
o32 50+r
o16 FF /6
o32 FF /6
0E
1E
06
16
0F A0
0F A8
6A ib
o16 68 iw
o32 68 id
60
o32 60
o16 60

PENT mmX

r
r
r
!!
!!

r
r
r

r
r
r

r
r
r

r
r
r

r
r
r

r
r
r

r
r
r

r
r
r

r
r
r

386
386

386
386
286
286
386
186
386
186
1999-07-10

A3 Set8086.sxw

Ing. Gabriele MONTI 1999 - 2005


PUSHF
PUSHFD
PUSHFW
PXOR
RCL

RCR

RDMSR
RDPMC
RDTSC
RET
RET
RETF

mmxreg, r/m64
r/m8, 1
r/m16, 1
r/m32, 1
r/m8, CL
r/m8, imm8
r/m16, CL
r/m16, imm8
r/m32, CL
r/m32, imm8
r/m8, 1
r/m16, 1
r/m32, 1
r/m8, CL
r/m8, imm8
r/m16, CL
r/m16, imm8
r/m32, CL
r/m32, imm8

imm16
imm16

RETN
ROL

ROR

RSM
SAHF
SAL

SAR

A3 Set8086.sxw

imm16
r/m8, 1
r/m16, 1
r/m32, 1
r/m8, CL
r/m8, imm8
r/m16, CL
r/m16, imm8
r/m32, CL
r/m32, imm8
r/m8, 1
r/m16, 1
r/m32, 1
r/m8, CL
r/m8, imm8
r/m16, CL
r/m16, imm8
r/m32, CL
r/m32, imm8
r/m8, 1
r/m16, 1
r/m32, 1
r/m8, CL
r/m8, imm8
r/m16, CL
r/m16, imm8
r/m32, CL
r/m32, imm8
r/m8, 1
r/m16, 1
r/m32, 1

Istruzioni X86
9C
o32 9C
o16 9C
0F EF /r
D0 /2
o16 D1 /2
o32 D1 /2
D2 /2
C0 /2 ib
o16 D3 /2
o16 C1 /2 ib
o32 D3 /2
o32 C1 /2 ib
D0 /3
o16 D1 /3
o32 D1 /3
D2 /3
C0 /3 ib
o16 D3 /3
o16 C1 /3 ib
o32 D3 /3
o32 C1 /3 ib
0F 32
0F 33
0F 31
C3
C2 iw
CB
CA iw
C3
C2 iw
D0 /0
o16 D1 /0
o32 D1 /0
D2 /0
C0 /0 ib
o16 D3 /0
o16 C1 /0 ib
o32 D3 /0
o32 C1 /0 ib
D0 /1
o16 D1 /1
o32 D1 /1
D2 /1
C0 /1 ib
o16 D3 /1
o16 C1 /1 ib
o32 D3 /1
o32 C1 /1 ib
0F AA
9E
D0 /4
o16 D1 /4
o32 D1 /4
D2 /4
C0 /4 ib
o16 D3 /4
o16 C1 /4 ib
o32 D3 /4
o32 C1 /4 ib
D0 /0
o16 D1 /0
o32 D1 /0

186
386
186
PENT mmX

www.ingmonti.it

!!
m

tm

tm

tm

tm

386
286
286
386
386
386
286
286
386
386
PENT
P6
PENT

386
286
286
386
386
386
286
286
386
386
PENT

m
m

m
r
m

m
r
m

m
r
?

m
r
m

m
r
m

386
286
286
386
386
386

Ver. 0.9.0 1999-07-10

p. 11 di 14

Ing. Gabriele MONTI

SBB

SCASB
SCASW
SCASD
SETcc
SGDT
SIDT
SLDT
SHL

SHR

SHLD

r/m8, CL
r/m8, imm8
r/m16, CL
r/m16, imm8
r/m32, CL
r/m32, imm8
r/m8, reg8
r/m16, reg16
r/m32, reg32
reg8, r/m8
reg16, r/m16
reg32, r/m32
r/m8, imm8
r/m16, imm16
r/m32, imm32
r/m16, imm8
r/m32, imm8
AL, imm8
AX, imm16
EAX, imm32

r/m8
mem
mem
r/m16
r/m8, 1
r/m16, 1
r/m32, 1
r/m8, CL
r/m8, imm8
r/m16, CL
r/m16, imm8
r/m32, CL
r/m32, imm8
r/m8, 1
r/m16, 1
r/m32, 1
r/m8, CL
r/m8, imm8
r/m16, CL
r/m16, imm8
r/m32, CL
r/m32, imm8
r/m16, reg16, imm8
r/m16, reg32, imm8

SHRD

r/m16, reg16, CL
r/m16, reg32, CL
r/m16, reg16, imm8
r/m32, reg32, imm8

SMSW
STC
STD
STI
STOSB
STOSW
p. 12 di 14

r/m16, reg16, CL
r/m32, reg32, CL
r/m16

www.ingmonti.it
D2 /0
C0 /0 ib
o16 D3 /0
o16 C1 /0 ib
o32 D3 /0
o32 C1 /0 ib
18 /r
o16 19 /r
o32 19 /r
1A /r
o16 1B /r
o32 1B /r
80 /3 ib
o16 81 /3 iw
o32 81 /3 id
o16 83 /3 ib
o32 83 /3 ib
1C ib
o16 1D iw
o32 1D id
AE
o16 AF
o32 AF
0F 90+cc /2
0F 01 /0
0F 01 /1
0F 00 /0
D0 /4
o16 D1 /4
o32 D1 /4
D2 /4
C0 /4 ib
o16 D3 /4
o16 C1 /4 ib
o32 D3 /4
o32 C1 /4 ib
D0 /5
o16 D1 /5
o32 D1 /5
D2 /5
C0 /5 ib
o16 D3 /5
o16 C1 /5 ib
o32 D3 /5
o32 C1 /5 ib
o16 0F A4 /r
ib
o32 0F A4 /r
ib
o16 0F A5 /r
o32 0F A5 /r
o16 0F AC /r
ib
o32 0F AC /r
ib
o16 0F AD /r
o32 0F AD /r
0F 01 /4
F9
FD
FB
AA
o16 AB

tm

m
m
m
t

m
m
m
t

m
m
m
t

m
m
m

m
m
m
t

m
m
m
t

286
286
386
386
386
386
386

386
386
386
286, PRIV
286, PRIV
286, PRIV

t
t
t

386
286
286
386
386
386
286
286
386
386
386
386
386
386
386
386
386
386
286, PRIV

1999-07-10

1
1
1
t
t
A3 Set8086.sxw

Ing. Gabriele MONTI 1999 - 2005


STOSD
STR
SUB

TEST

VERR
VERW
WAIT
WBINVD
WRMSR
XADD
XCHG

XLAT |
XLATB
XOR

A3 Set8086.sxw

r/m16
r/m8, reg8
r/m16, reg16
r/m32, reg32
reg8, r/m8
reg16, r/m16
reg32, r/m32
r/m8, imm8
r/m16, imm16
r/m32, imm32
r/m16, imm8
r/m32, imm8
AL, imm8
AX, imm16
EAX, imm32
r/m8, reg8
r/m16, reg16
r/m32, reg32
r/m8, imm8
r/m16, imm16
r/m32, imm32
AL, imm8
AX, imm16
EAX, imm32
r/m16
r/m16

r/m8, reg8
r/m16, reg16
r/m32, reg32
reg8, r/m8
reg16, r/m8
reg32, r/m32
r/m8, reg8
r/m16, reg16
r/m32, reg32
AX, reg16
EAX, reg32
reg16, AX
reg32, EAX
r/m8, reg8
r/m16, reg16
r/m32, reg32
reg8, r/m8
reg16, r/m16
reg32, r/m32
r/m8, imm8
r/m16, imm16
r/m32, imm32
r/m16, imm8
r/m32, imm8
AL, imm8
AX, imm16
EAX, imm32

Istruzioni X86
o32 AB
0F 00 /1
28 /r
o16 29 /r
o32 29 /r
2A /r
o16 2B /r
o32 2B /r
80 /5 ib
o16 81 /5 iw
o32 81 /5 id
o16 83 /5 ib
o32 83 /5 ib
2C ib
o16 2D iw
o32 2D id
84 /r
o16 85 /r
o32 85 /r
F6 /7 ib
o16 F7 /7 iw
o32 F7 /7 id
A8 ib
o16 A9 iw
o32 A9 id
0F 00 /4
0F 00 /5
9B
0F 09
0F 30
0F C0 /r
o16 0F C1 /r
o32 0F C1 /r
86 /r
o16 87 /r
o32 87 /r
86 /r
o16 87 /r
o32 87 /r
o16 90+r
o32 90+r
o16 90+r
o32 90+r
D7
30 /r
o16 31 /r
o32 31 /r
32 /r
o16 33 /r
o32 33 /r
80 /6 ib
o16 81 /6 iw
o32 81 /6 id
o16 83 /6 ib
o32 83 /6 ib
34 ib
o16 35 iw
o32 35 id

www.ingmonti.it

386
286, PRIV

t
m

386
386
386
386
386
386
386
386
286, PRIV
286, PRIV
486
PENT
486
486
486

m
m

386
386
386
386

386
386
386
386
386

Ver. 0.9.0 1999-07-10

p. 13 di 14

Ing. Gabriele MONTI 1999

p. 14 di 14

Appunti di Sistemi

10/07/1999

ITI Cesena, 1999-2000

A3 Set8086.sxw