Here is a list of instructions and opcodes used by Intel, AMD, Cyrix and Nexgen. We used gdb to get all the info out of the processors
Table of contents
Technical Specifications
Introduction
Date
Clock Speeds
Bus Width
Number of
Transistors
Addressable
Memory
Virtual
Memory
Brief
Description
4004
11/15/71
108 KHz
4 bits
2,300
(10 microns)
640 bytes
First microcomputer chip,
Arithmetic manipulation
8008
4/1/72
108 KHz
8 bits
3,500
16 KBytes
Data/character manipulation
8080
4/1/74
2 MHz
8 bits
6,000
(6 microns)
64 KBytes
10X the performance of the 8008
8086
6/8/78
5 MHz
8 MHz
10 MHz
16 bits
29,000
(3 microns)
1 Megabyte
10X the performance of the 8080
8088
6/1/79
5 MHz
8 MHz
8 bits
29,000
(3 microns)
Identical to 8086 except for its 8-bit external bus
80286
2/1/82
8 MHz
10 MHz
12 MHz
16 bits
134,000
(1.5 microns)
16 Megabytes
1 gigabyte
3-6X the performance of the 8086
Intel386(TM)DX Microprocessor
10/17/85
16 MHz
20 MHz
25 MHz
33 MHz
32 bits
275,000
(1 micron)
4 gigabytes
64 terabytes
First X86 chip to handle 32-bit data sets
Intel386(TM)SX Microprocessor
6/16/88
16 MHz
20 MHz
16 bits
275,000
(1 micron)
4 gigabytes
64 terabytes
16-bit address bus enabled low-cost 32-bit processing
Intel486(TM)DX Microprocessor
4/10/89
25 MHz
33 MHz
50 MHz
32 bits
1,200,000
(1 micron, .8 micron with 50 MHz)
4 gigabytes
64 terabytes
Level 1 cache on chip
Intel486(TM)SX Microprocessor
4/22/91
16 MHz
20 MHz
25 MHz
33 MHz
32 bits
1,185,000
(.8 micron)
4 gigabytes
64 terabytes
identical in design to Intel486(TM) DX but without math coprocessor
Pentium® Processor
3/22/93
60MHz
66MHz
75MHz
90MHz
100MHz
120MHz
133MHz
150MHz
166MHz
32 bits
3.1 million
(.8 micron)
4 gigabytes
64 terabytes
superscaler architecture brought 5X the performance of the 33-MHz Intel486 DX processor
Pentium® Pro Processor
3/27/95
150MHz
180MHz
200MHz
32 bits
5.5 million
(.32 micron)
4 gigabytes
64 terabytes
dynamic execution architecture drives high-performing processor
Instructions and opcodes
oo : Function
00 : If mmm = 110, then a displacement follows the operation; otherwise, no displacement is used
01 : An 8-bit signed displacement follows the opcode
10 : A 16-bit signed displacement follows the opcode
11 : mmm specifies a register, instead of an addressing mode
mmm : Function
000 : DS:[BX+SI]
001 : DS:[BX+DI]
010 : SS:[BP+SI]
011 : SS:[BP+DI]
100 : DS:[SI]
101 : DS:[DI]
110 : SS:[BP]
111 : DS:[BX]
rrr : W=0 : W=1 : reg32
000 : AL : AX : EAX
001 : CL : CX : ECX
010 : DL : DX : EDX
011 : BL : BX : EBX
100 : AH : SP : ESP
101 : CH : BP : EBP
110 : DH : SI : ESI
111 : BH : DI : EDI
sss : Segment Register
000 : ES
001 : CS
010 : SS
011 : DS
100 : FS (Only 386+)
101 : GS (Only 386+) rrr : Index Register
000 : EAX
001 : ECX
010 : EDX
011 : EBX
100 : No Index
101 : EBP
110 : ESI
111 : EDI
32 bit addressing-mode
oo
mmm
rrr
Description
00
000
DS:[EAX]
00
001
DS:[ECX]
00
010
DS:[EDX]
00
011
DS:[EBX]
00
100
000
DS:[EAX+scaled_index]
00
100
001
DS:[ECX+scaled_index]
00
100
010
DS:[EDX+scaled_index]
00
100
011
DS:[EBX+scaled_index]
00
100
100
SS:[ESP+scaled_index]
00
100
101
DS:[disp32+scaled_index]
00
100
110
DS:[ESI+scaled_index]
00
100
111
DS:[EDI+scaled_index]
00
101
DS:disp32
00
110
DS:[ESI]
00
111
DS:[EDI]
01
000
DS:[EAX+disp8]
01
001
DS:[ECX+disp8]
01
010
DS:[EDX+disp8]
01
011
DS:[EBX+disp8]
01
100
000
DS:[EAX+scaled_index+disp8]
01
100
001
DS:[ECX+scaled_index+disp8]
01
100
010
DS:[EDX+scaled_index+disp8]
01
100
011
DS:[EBX+scaled_index+disp8]
01
100
100
SS:[ESP+scaled_index+disp8]
01
100
101
SS:[EBP+scaled_index+disp8]
01
100
110
DS:[ESI+scaled_index+disp8]
01
100
111
DS:[EDI+scaled_index+disp8]
01
101
SS:[EBP+disp8]
01
110
DS:[ESI+disp8]
01
111
DS:[EDI+disp8]
10
000
DS:[EAX+disp32]
10
001
DS:[ECX+disp32]
10
010
DS:[EDX+disp32]
10
011
DS:[EBX+disp32]
10
100
000
DS:[EAX+scaled_index+disp32]
10
100
001
DS:[ECX+scaled_index+disp32]
10
100
010
DS:[EDX+scaled_index+disp32]
10
100
011
DS:[EBX+scaled_index+disp32]
10
100
100
SS:[ESP+scaled_index+disp32]
10
100
101
SS:[EBP+scaled_index+disp32]
10
100
110
DS:[ESI+scaled_index+disp32]
10
100
111
DS:[EDI+scaled_index+disp32]
10
101
SS:[EBP+disp32]
10
110
DS:[ESI+disp32]
10
111
DS:[EDI+disp32]
Main Instructions
A || B || C || D || E || H || I || J || L || M || N || O || P || R || S || T || V || W || X
Name
Regs
Opcode
Proc
Description
AAA
00110111
8086
ASCII Adjust After Addition
AAD
Imm8
11010101
Pentium
ASCII Adjust Register AX Before Division
1101010100001010
8086
ASCII Adjust Register AX Before Division
AAM
Imm8
11010100
Pentium
ASCII Adjust AX Register After Multiplication
1101010000001010
8086
ASCII Adjust AX Register After Multiplication
AAS
00111111
8086
ASCII Adjust AL Register After Substraction
ADC
Reg,Reg
0001001woorrrmmm
8086
Add Integers with Carry
Mem,Reg
0001000woorrrmmm
8086
Add Integers with Carry
Reg,Mem
0001001woorrrmmm
8086
Add Integers with Carry
Acc,Imm
0001010w
8086
Add Integers with Carry
Reg,Imm8
1000001woo010mmm
8086
Add Integers with Carry
Mem,Imm8
1000001woo010mmm
8086
Add Integers with Carry
Reg,Imm
1000000woo010mmm
8086
Add Integers with Carry
Mem,Imm
1000000woo010mmm
8086
Add Integers with Carry
ADD
Reg,Reg
0000001woorrrmmm
8086
Add Integers
Mem,Reg
0000000woorrrmmm
8086
Add Integers
Reg,Mem
0000001woorrrmmm
8086
Add Integers
Acc,Imm
0000010w
8086
Add Integers
Reg,Imm8
1000001woo000mmm
8086
Add Integers
Mem,Imm8
1000001woo000mmm
8086
Add Integers
Reg,Imm
1000000woo000mmm
8086
Add Integers
Mem,Imm
1000000woo000mmm
8086
Add Integers
AND
Reg,Reg
0010001woorrrmmm
8086
Logical AND
Mem,Reg
0010000woorrrmmm
8086
Logical AND
Reg,Mem
0010001woorrrmmm
8086
Logical AND
Acc,Imm
0010010w
8086
Logical AND
Reg,Imm8
1000001woo100mmm
8086
Logical AND
Mem,Imm8
1000001woo100mmm
8086
Logical AND
Reg,Imm
1000000woo100mmm
8086
Logical AND
Mem,Imm
1000000woo100mmm
8086
Logical AND
ARPL
Reg16,Reg16
01100011oorrrmmm
80286
Adjust Requester Privilege Level of Selector
Mem16,Reg16
01100011oorrrmmm
80286
Adjust Requester Privilege Level of Selector
BOUND
Reg16,Mem32
01100010oorrrmmm
80186
Check Array Index Against Bounds
Reg32,Mem64
01100010oorrrmmm
80386
Check Array Index Against Bounds
BSF
RegWord,RegWord
0000111110111100oorrrmmm
80386
Bit Scan Forward
RegWord,MemWord
0000111110111100oorrrmmm
80386
Bit Scan Forward
BSR
RegWord,RegWord
0000111110111101oorrrmmm
80386
Bit Scan Reverse
RegWord,MemWord
0000111110111101oorrrmmm
80386
Bit Scan Reverse
BSWAP
RegWord
0000111111001rrr
80486
Byte swap
BT
RegWord,Imm8
0000111110111010oo100mmm
80386
Bit Test
MemWord,Imm8
0000111110111010oo100mmm
80386
Bit Test
RegWord,RegWord
0000111110100011oorrrmmm
80386
Bit Test
MemWord,RegWord
0000111110100011oorrrmmm
80386
Bit Test
BTC
RegWord,Imm8
0000111110111010oo111mmm
80386
Bit Test and Complement
MemWord,Imm8
0000111110111010oo111mmm
80386
Bit Test and Complement
RegWord,RegWord
0000111110111011oorrrmmm
80386
Bit Test and Complement
MemWord,RegWord
0000111110111011oorrrmmm
80386
Bit Test and Complement
BTR
RegWord,Imm8
0000111110111010oo110mmm
80386
Bit Test and Reset
MemWord,Imm8
0000111110111010oo110mmm
80386
Bit Test and Reset
RegWord,RegWord
0000111110110011oorrrmmm
80386
Bit Test and Reset
MemWord,RegWord
0000111110110011oorrrmmm
80386
Bit Test and Reset
BTS
RegWord,Imm8
0000111110111010oo101mmm
80386
Bit Test and Set
MemWord,Imm8
0000111110111010oo101mmm
80386
Bit Test and Set
RegWord,RegWord
0000111110101011oorrrmmm
80386
Bit Test and Set
MemWord,RegWord
0000111110101011oorrrmmm
80386
Bit Test and Set
CBW
10011000
8086
Convert Byte to Word
CDQ
10011001
80386
Convert Doubleword to Quad-Word
CLC
11111000
8086
Clear Carry Flag (CF)
CLD
11111100
8086
Clear Direction Flag (DF)
CLI
11111010
8086
Clear Interrupt Flag (IF)
CLTS
0000111100000110
80286
Clear Task-Switched Flag in Control Register Zero
CMC
11110101
8086
Complementer Carry Flag (CF)
CMOVcc
Reg,Reg
000011110100ccccoorrrmmm
PentiumPro
Conditional Move
Reg,Mem
000011110100ccccoorrrmmm
PentiumPro
Conditional Move
CMP
Reg,Reg
0011101woorrrmmm
8086
Compare
Mem,Reg
0011100woorrrmmm
8086
Compare
Reg,Mem
0011101woorrrmmm
8086
Compare
Acc,Imm
0011110w
8086
Compare
Reg,Imm8
1000001woo111mmm
8086
Compare
Mem,Imm8
1000001woo111mmm
8086
Compare
Reg,Imm
1000000woo111mmm
8086
Compare
Mem,Imm
1000000woo111mmm
8086
Compare
CMPSB
10100110
8086
Compare String - Byte
CMPSW
10100111
8086
Compare String - Word
CMPSD
10100111
80386
Compare String - Doubleword
CMPXCHG
Reg,Reg
000011111011000woorrrmmm
80486
Compare and Exchange
Mem,Reg
000011111011000woorrrmmm
80486
Compare and Exchange
CMPXCHG8B
Mem64
0000111111000111oo001mmm
Pentium
Compare and Exchange 8 Bytes
CPUID
0000111110100010
Pentium
CPU Identification code to EAX
CWD
10011001
8086
Convert Word to Doubleword
CWDE
10011000
80386
Convert Word to Extended Doubleword
DAA
00100111
8086
Decimal Adjust Register After Addition
DAS
00101111
8086
Decimal Adjust AL Register After Substraction
DEC
RegWord
01001rrr
8086
Decrement by One
Reg
1111111woo001mmm
8086
Decrement by One
Mem
1111111woo001mmm
8086
Decrement by One
DIV
Reg
1111011woo110mmm
8086
Unsigned Integer Divide
Mem
1111011woo110mmm
8086
Unsigned Integer Divide
ENTER
Imm16,Imm8
11001000
80186
Make Stack Frame for Procedure Parameter
HLT
11110100
8086
Halt
IDIV
Reg
1111011woo111mmm
8086
Signed Divide
Mem
1111011woo111mmm
8086
Signed Divide
IMUL
RegWord,RegWord,Imm8
01101011oorrrmmm
80186
Signed Integer Multiply
RegWord,MemWord,Imm8
01101011oorrrmmm
80186
Signed Integer Multiply
RegWord,RegWord,Imm
01101001oorrrmmm
80186
Signed Integer Multiply
RegWord,MemWord,Imm
01101001oorrrmmm
80186
Signed Integer Multiply
RegWord,Imm8
0110101111rrrqqq
80186
Signed Integer Multiply
RegWord,Imm
0110100111rrrqqq
80186
Signed Integer Multiply
RegWord,RegWord
0000111110101111oorrrmmm
80386
Signed Integer Multiply
RegWord,MemWord
0000111110101111oorrrmmm
80386
Signed Integer Multiply
Reg
1111011woo101mmm
8086
Signed Integer Multiply
Mem
1111011woo101mmm
8086
Signed Integer Multiply
IN
Acc,Imm8
1110010w
8086
Input from Port
Acc,DX
1110110w
8086
Input from Port
INC
RegWord
01000rrr
8086
Increment by 1
Reg
1111111woo000mmm
8086
Increment by 1
Mem
1111111woo000mmm
8086
Increment by 1
INSB
01101100
80186
Input Byte
INSW
01101101
80186
Input Word
INSD
01101101
80386
Input DoubleWord
INT
3
11001100
8086
Call to Interrupt Procedure
Imm8
11001101
8086
Call to Interrupt Procedure
INTO
11001110
8086
Interrupt on Overflow
INVD
0000111100001000
80486
Invalidate data cache
INVLPG
Mem
0000111100000001oo111mmm
80486
Invalidate TBL entry
IRET
11001111
8086
Return from Interrupt
IRETD
11001111
80386
Return from Interrupt - 32-bit Mode
LAHF
10011111
8086
Load Flags into AH Register
LAR
RegWord,RegWord
0000111100000010oorrrmmm
80286
Load Access Rights Byte
RegWord,MemWord
0000111100000010oorrrmmm
80286
Load Access Rights Byte
LDS
Reg16,Mem32
11000101oorrrmmm
8086
Load Pointer Using DS
Reg32,Mem64
11000101oorrrmmm
80386
Load Pointer Using DS
LES
Reg16,Mem32
11000100oorrrmmm
8086
Load Pointer Using ES
Reg32,Mem64
11000100oorrrmmm
80386
Load Pointer Using ES
LFS
Reg16,Mem32
0000111110110100oorrrmmm
80386
Load Pointer Using FS
Reg32,Mem64
0000111110110100oorrrmmm
80386
Load Pointer Using FS
LGS
Reg16,Mem32
0000111110110101oorrrmmm
80386
Load Pointer Using GS
Reg32,Mem64
0000111110110101oorrrmmm
80386
Load Pointer Using GS
LSS
Reg16,Mem32
0000111110110010oorrrmmm
80386
Load Pointer Using SS
Reg32,Mem64
0000111110110010oorrrmmm
80386
Load Pointer Using SS
LEA
RegWord,Mem
10001101oorrrmmm
8086
Load Effective Address
LEAVE
11001001
80186
High Level Procedure Exit
LGDT
Mem64
0000111100000001oo010mmm
80286
Load Global Descriptor Table
LIDT
Mem64
0000111100000001oo011mmm
80286
Load Interrupt Descriptor Table
LLDT
Reg16
0000111100000000oo010mmm
80286
Load Local Descriptor Table
Mem16
0000111100000000oo010mmm
80286
Load Local Descriptor Table
LMSW
Reg16
0000111100000001oo110mmm
80286
Load Machine Status Word
Mem16
0000111100000001oo110mmm
80286
Load Machine Status Word
LODSB
10101100
8086
Load Byte
LODSW
10101101
8086
Load Word
LODSD
10101101
80386
Load Doubleword
LSL
RegWord,RegWord
0000111100000011oorrrmmm
80286
Load Segment Limit
RegWord,MemWord
0000111100000011oorrrmmm
80286
Load Segment Limit
LTR
Reg16
0000111100000000oo011mmm
80286
Load Task Register
Mem16
0000111100000000oo011mmm
80286
Load Task Register
MOV
MemOfs,Acc
1010001w
8086
Move Data
Acc,MemOfs
1010000w
8086
Move Data
Reg,Imm
1011wrrr
8086
Move Data
Mem,Imm
1100011woo000mmm
8086
Move Data
Reg,Reg
1000101woorrrmmm
8086
Move Data
Reg,Mem
1000101woorrrmmm
8086
Move Data
Mem,Reg
1000100woorrrmmm
8086
Move Data
Reg16,Seg
10001100oosssmmm
8086
Move Data
Seg,Reg16
10001110oosssmmm
8086
Move Data
Mem16,Seg
10001100oosssmmm
8086
Move Data
Seg,Mem16
10001110oosssmmm
8086
Move Data
Reg32,CRn
000011110010000011sssrrr
80386
Move Data
CRn,Reg32
000011110010001011sssrrr
80386
Move Data
Reg32,DRn
000011110010000111sssrrr
80386
Move Data
DRn,Reg32
000011110010001111sssrrr
80386
Move Data
Reg32,TRn
000011110010010011sssrrr
80386
Move Data
TRn,Reg32
000011110010011011sssrrr
80386
Move Data
MOVSB
10100100
8086
Move Byte
MOVSW
10100101
8086
Move Word
MOVSD
10100101
80386
Move Doubleword
MOVSX
RegWord,Reg8
0000111110111110oorrrmmm
80386
Move with Sign Extension
RegWord,Mem8
0000111110111110oorrrmmm
80386
Move with Sign Extension
RegWord,Reg16
0000111110111111oorrrmmm
80386
Move with Sign Extension
RegWord,Mem16
0000111110111111oorrrmmm
80386
Move with Sign Extension
MOVZX
RegWord,Reg8
0000111110110110oorrrmmm
80386
Move with Zero Extension
RegWord,Mem8
0000111110110110oorrrmmm
80386
Move with Zero Extension
RegWord,Reg16
0000111110110111oorrrmmm
80386
Move with Zero Extension
RegWord,Mem16
0000111110110111oorrrmmm
80386
Move with Zero Extension
MUL
Reg
1111011woo100mmm
8086
Unsigned Integer Multiply of AL, AX or EAX
Mem
1111011woo100mmm
8086
Unsigned Integer Multiply of AL, AX or EAX
NEG
Reg
1111011woo011mmm
8086
Negate(Two's Complement)
Mem
1111011woo011mmm
8086
Negate(Two's Complement)
NOP
10010000
8086
No Operation
NOT
Reg
1111011woo010mmm
8086
Negate(One's Complement)
Mem
1111011woo010mmm
8086
Negate(One's Complement)
OR
Reg,Reg
0000101woorrrmmm
8086
Logical Inclusive OR
Mem,Reg
0000100woorrrmmm
8086
Logical Inclusive OR
Reg,Mem
0000101woorrrmmm
8086
Logical Inclusive OR
Acc,Imm
0000110w
8086
Logical Inclusive OR
Reg,Imm8
1000001woo001mmm
8086
Logical Inclusive OR
Mem,Imm8
1000001woo001mmm
8086
Logical Inclusive OR
Reg,Imm
1000000woo001mmm
8086
Logical Inclusive OR
Mem,Imm
1000000woo001mmm
8086
Logical Inclusive OR
OUT
Imm8,Acc
1110011w
8086
Output To Port
DX,Acc
1110111w
8086
Output To Port
OUTSB
01101110
80186
Output Byte
OUTSW
01101111
80186
Output Word
OUTSD
01101111
80386
Output Doubleword
POP
RegWord
01011rrr
8086
Pop a Word from the Stack
MemWord
10001111oo000mmm
8086
Pop a Word from the Stack
SegOld
00sss111
8086
Pop a Word from the Stack
Seg
0000111110sss001
80386
Pop a Word from the Stack
POPA
01100001
80186
POP All Registers
POPAD
01100001
80386
POP All Registers - 32-bit Mode
POPF
10011101
8086
POP Stack into FLAGS
POPFD
10011101
80386
POP Stack into EFLAGS
PUSH
RegWord
01010rrr
8086
Push Operand onto Stack
MemWord
11111111oo110mmm
8086
Push Operand onto Stack
SegOld
00sss110
8086
Push Operand onto Stack
Seg
0000111110sss000
80386
Push Operand onto Stack
Imm8
01101010
80186
Push Operand onto Stack
Imm
01101000
80186
Push Operand onto Stack
PUSHW
Imm16
01101000
80286
PUSH Word
PUSHD
Imm32
01101000
80386
PUSH Double Word
PUSHA
01100000
80186
PUSH All Registers
PUSHAD
01100000
80386
PUSH All Registers - 32-bit Mode
PUSHF
10011100
8086
PUSH FLAGS
PUSHFD
10011100
80386
PUSH EFLAGS
RCL
Reg,1
1101000woo010mmm
8086
Rotate Left through Carry - Uses CF for Extension
Mem,1
1101000woo010mmm
8086
Rotate Left through Carry - Uses CF for Extension
Reg,CL
1101001woo010mmm
8086
Rotate Left through Carry - Uses CF for Extension
Mem,CL
1101001woo010mmm
8086
Rotate Left through Carry - Uses CF for Extension
Reg,Imm8
1100000woo010mmm
80186
Rotate Left through Carry - Uses CF for Extension
Mem,Imm8
1100000woo010mmm
80186
Rotate Left through Carry - Uses CF for Extension
RCR
Reg,1
1101000woo011mmm
8086
Rotate Right through Carry - Uses CF for Extension
Mem,1
1101000woo011mmm
8086
Rotate Right through Carry - Uses CF for Extension
Reg,CL
1101001woo011mmm
8086
Rotate Right through Carry - Uses CF for Extension
Mem,CL
1101001woo011mmm
8086
Rotate Right through Carry - Uses CF for Extension
Reg,Imm8
1100000woo011mmm
80186
Rotate Right through Carry - Uses CF for Extension
Mem,Imm8
1100000woo011mmm
80186
Rotate Right through Carry - Uses CF for Extension
RDMSR
0000111100110010
Pentium
Read from Model Specific Register
RDTSC
0000111101010001
Pentium
Read Timwatamp Counter
RET
NEAR
11000011
8086
Return from subprocedure
RET
imm NEAR
11000010
8086
Return from subprocedure
RET
FAR
11001011
8086
Return from subprocedure
RET
imm FAR
11001010
8086
Return from subprocedure
RDPMC
0000111100110011
PentiumPro
Read Performance Monitor Counter
ROL
Reg,1
1101000woo000mmm
8086
Rotate Left through Carry - Wrap bits around
Mem,1
1101000woo000mmm
8086
Rotate Left through Carry - Wrap bits around
Reg,CL
1101001woo000mmm
8086
Rotate Left through Carry - Wrap bits around
Mem,CL
1101001woo000mmm
8086
Rotate Left through Carry - Wrap bits around
Reg,Imm8
1100000woo000mmm
80186
Rotate Left through Carry - Wrap bits around
Mem,Imm8
1100000woo000mmm
80186
Rotate Left through Carry - Wrap bits around
ROR
Reg,1
1101000woo001mmm
8086
Rotate Right through Carry - Wrap bits around
Mem,1
1101000woo001mmm
8086
Rotate Right through Carry - Wrap bits around
Reg,CL
1101001woo001mmm
8086
Rotate Right through Carry - Wrap bits around
Mem,CL
1101001woo001mmm
8086
Rotate Right through Carry - Wrap bits around
Reg,Imm8
1100000woo001mmm
80186
Rotate Right through Carry - Wrap bits around
Mem,Imm8
1100000woo001mmm
80186
Rotate Right through Carry - Wrap bits around
RSM
0000111110101010
Pentium
Return from System Management mode
SALC
11010110
Pentium Pro
Set AL on Carry
SAHF
10011110
8086
Load Flags into AH Register
SAL
Reg,1
1101000woo100mmm
8086
Shift Arithmetic Left
Mem,1
1101000woo100mmm
8086
Shift Arithmetic Left
Reg,CL
1101001woo100mmm
8086
Shift Arithmetic Left
Mem,CL
1101001woo100mmm
8086
Shift Arithmetic Left
Reg,Imm8
1100000woo100mmm
80186
Shift Arithmetic Left
Mem,Imm8
1100000woo100mmm
80186
Shift Arithmetic Left
SAR
Reg,1
1101000woo111mmm
8086
Shift Arithmetic Right
Mem,1
1101000woo111mmm
8086
Shift Arithmetic Right
Reg,CL
1101001woo111mmm
8086
Shift Arithmetic Right
Mem,CL
1101001woo111mmm
8086
Shift Arithmetic Right
Reg,Imm8
1100000woo111mmm
80186
Shift Arithmetic Right
Mem,Imm8
1100000woo111mmm
80186
Shift Arithmetic Right
SETcc
Reg8
000011111001ccccoo000mmm
80386
Set Byte on Condition Code
Mem8
000011111001ccccoo000mmm
80386
Set Byte on Condition Code
SHL
Reg,1
1101000woo100mmm
8086
Shift Logic Left
Mem,1
1101000woo100mmm
8086
Shift Logic Left
Reg,CL
1101001woo100mmm
8086
Shift Logic Left
Mem,CL
1101001woo100mmm
8086
Shift Logic Left
Reg,Imm8
1100000woo100mmm
80186
Shift Logic Left
Mem,Imm8
1100000woo100mmm
80186
Shift Logic Left
SHR
Reg,1
1101000woo101mmm
8086
Shift Logic Right
Mem,1
1101000woo101mmm
8086
Shift Logic Right
Reg,CL
1101001woo101mmm
8086
Shift Logic Right
Mem,CL
1101001woo101mmm
8086
Shift Logic Right
Reg,Imm8
1100000woo101mmm
80186
Shift Logic Right
Mem,Imm8
1100000woo101mmm
80186
Shift Logic Right
SBB
Reg,Reg
0001101woorrrmmm
8086
Substract Integers with Borrow
Mem,Reg
0001100woorrrmmm
8086
Substract Integers with Borrow
Reg,Mem
0001101woorrrmmm
8086
Substract Integers with Borrow
Acc,Imm
0001110w
8086
Substract Integers with Borrow
Reg,Imm8
1000001woo011mmm
8086
Substract Integers with Borrow
Mem,Imm8
1000001woo011mmm
8086
Substract Integers with Borrow
Reg,Imm
1000000woo011mmm
8086
Substract Integers with Borrow
Mem,Imm
1000000woo011mmm
8086
Substract Integers with Borrow
SCASB
10101110
8086
Compare Byte
SCASW
10101111
8086
Compare Word
SCASD
10101111
80386
Compare Doubleword
SGDT
Mem64
0000111100000001oo000mmm
80286
Store Global Descriptor Table
SHLD
RegWord,RegWord,Imm8
0000111110100100oorrrmmm
80386
Double Precision Shift Left
MemWord,RegWord,Imm8
0000111110100100oorrrmmm
80386
Double Precision Shift Left
RegWord,RegWord,CL
0000111110100101oorrrmmm
80386
Double Precision Shift Left
MemWord,RegWord,CL
0000111110100101oorrrmmm
80386
Double Precision Shift Left
SHRD
RegWord,RegWord,Imm8
0000111110101100oorrrmmm
80386
Double Precision Shift Right
MemWord,RegWord,Imm8
0000111110101100oorrrmmm
80386
Double Precision Shift Right
RegWord,RegWord,CL
0000111110101101oorrrmmm
80386
Double Precision Shift Right
MemWord,RegWord,CL
0000111110101101oorrrmmm
80386
Double Precision Shift Right
SIDT
Mem64
0000111100000001oo001mmm
80286
Store Interrupt Descriptor Table
SLDT
Reg16
0000111100000000oo000mmm
80286
Store Local Descriptor Table Register (LDTR)
Mem16
0000111100000000oo000mmm
80286
Store Local Descriptor Table Register (LDTR)
SMSW
Reg16
0000111100000001oo100mmm
80286
Store Machine Status Word
Mem16
0000111100000001oo100mmm
80286
Store Machine Status Word
STC
11111001
8086
Set Carry Flag(CF)
STD
11111101
8086
Set Direction Flag(DF)
STI
11111011
8086
Set Interrupt Flag(IF)
STOSB
10101010
8086
Store String Data Byte
STOSW
10101011
8086
Store String Data Word
STOSD
10101011
80386
Store String Data DoubleWord
STR
Reg16
0000111100000000oo001mmm
80286
Store Task Register
Mem16
0000111100000000oo001mmm
80286
Store Task Register
SUB
Reg,Reg
0010101woorrrmmm
8086
Subtract
Mem,Reg
0010100woorrrmmm
8086
Subtract
Reg,Mem
0010101woorrrmmm
8086
Subtract
Acc,Imm
0010110w
8086
Subtract
Reg,Imm8
1000001woo101mmm
8086
Subtract
Mem,Imm8
1000001woo101mmm
8086
Subtract
Reg,Imm
1000000woo101mmm
8086
Subtract
Mem,Imm
1000000woo101mmm
8086
Subtract
TEST
Reg,Reg
1000010woorrrmmm
8086
Test Operands
Mem,Reg
1000010woorrrmmm
8086
Test Operands
Reg,Mem
1000010woorrrmmm
8086
Test Operands
Acc,Imm
1010100w
8086
Test Operands
Reg,Imm
1111011woo000mmm
8086
Test Operands
Mem,Imm
1111011woo000mmm
8086
Test Operands
VERR
Reg16
0000111100000000oo100mmm
80286
Verify Read
Mem16
0000111100000000oo100mmm
80286
Verify Read
VERW
Reg16
0000111100000000oo101mmm
80286
Verify Write
Mem16
0000111100000000oo101mmm
80286
Verify Write
WAIT
10011011
8086
Wait for FPU
WBINVD
0000111100001001
80486
Write Back and Invalidate Data Cache
WRMSR
0000111100110000
Pentium
Write to Model Specific Register
XADD
Reg,Reg
000011111100000woorrrmmm
80486
Exchange and Add
Mem,Reg
000011111100000woorrrmmm
80486
Exchange and Add
XCHG
AccWord,RegWord
10010rrr
8086
Exchange
RegWord,AccWord
10010rrr
8086
Exchange
Reg,Reg
1000011woorrrmmm
8086
Exchange
Mem,Reg
1000011woorrrmmm
8086
Exchange
Reg,Mem
1000011woorrrmmm
8086
Exchange
XLAT
11010111
8086
Translate
XOR
Reg,Reg
0011001woorrrmmm
8086
Exclusive-OR
Mem,Reg
0011000woorrrmmm
8086
Exclusive-OR
Reg,Mem
0011001woorrrmmm
8086
Exclusive-OR
Acc,Imm
0011010w
8086
Exclusive-OR
Reg,Imm8
1000001woo110mmm
8086
Exclusive-OR
Mem,Imm8
1000001woo110mmm
8086
Exclusive-OR
Reg,Imm
1000000woo110mmm
8086
Exclusive-OR
Mem,Imm
1000000woo110mmm
8086
Exclusive-OR
CALL
MemFar
11111111oo011mmm
8086
Call a Procedure
Near
11101000
8086
Call a Procedure
Far
10011010
8086
Call a Procedure
RegWord
11111111oo010mmm
8086
Call a Procedure
MemNear
11111111oo010mmm
8086
Call a Procedure
Jcc
Short
0111cccc
8086
Jump on Some Condition Code
Near
000011111000cccc
80386
Jump on Some Condition Code
JCXZ
Short
11100011
8086
JCXE
Short
11100011
8086
JECXZ
Short
11100011
8086
JECXE
Short
11100011
8086
JMP
MemFar
11111111oo101mmm
8086
Short
11101011
8086
Near
11101001
8086
Far
11101010
8086
RegWord
11111111oo100mmm
8086
MemNear
11111111oo100mmm
8086
LOOP
Short
11100010
8086
Loop Control While ECX Counter Not Zero
LOOPZ
Short
11100001
8086
Loop while Zero
LOOPE
Short
11100001
8086
Loop while Equal
LOOPNZ
Short
11100000
8086
Loop while Not Zero
LOOPNE
Short
11100000
8086
Loop while Not Equal
LOCK
11110000
8086
Assert Lock# Signal Prefix
LOCK:
11110000
8086
Assert Lock# Signal Prefix
REP
11110011
8086
Repeat Following String Operation
REPE
11110011
8086
Repeat while Equal
REPZ
11110011
8086
Repeat while Zero
REPNE
11110010
8086
Repeat while Not Equal
REPNZ
11110010
8086
Repeat while Not Zero
CS:
00101110
8086
CS segment override prefix
DS:
00111110
8086
DS segment override prefix
ES:
00100110
8086
ES segment override prefix
FS:
01100100
80386
FS segment override prefix
GS:
01100101
80386
GS segment override prefix
SS:
00110110
8086
SS segment override prefix
Co-processor instructions :
Name
Regs
Opcode
Proc
Description
F2XM1
1101100111110000
8087
2^X-1
FABS
1101100111100001
8087
Absolute Value of ST
FADD
ST(0),ST(n)
1101100011000rrr
8087
Addition
ST(n),ST(0)
1101110011000rrr
8087
Addition
ST(0),Mem32
11011000oo000mmm
8087
Addition
Mem32
11011000oo000mmm
8087
Addition
ST(0),Mem64
11011100oo000mmm
8087
Addition
Mem64
11011100oo000mmm
8087
Addition
ST(n)
1101110011000rrr
8087
Addition
1101110011000001
8087
Addition
FADDP
ST(n),ST(0)
11011110oo000mmm
8087
Addition and Pop
ST(n)
11011110oo000mmm
8087
Addition and Pop
1101111011000001
8087
Addition and Pop
FIADD
ST(0),Mem16
11011110oo000mmm
8087
Addition (Integer)
Mem16
11011110oo000mmm
8087
Addition (Integer)
ST(0),Mem32
11011010oo000mmm
8087
Addition (Integer)
Mem32
11011010oo000mmm
8087
Addition (Integer)
FCMOVcc
ST(0),ST(n)
1101101n110ccrrr
PentiumPro
Conditional Move
ST(n)
1101101n110ccrrr
PentiumPro
Conditional Move
1101101n110cc001
PentiumPro
Conditional Move
FCHS
1101100111100000
8087
Change Sign
FCLEX
[FWAIT] 1101101111100010
8087
Clear Errors
FNCLEX
1101101111100010
8087
Clear Errors
FCOM
ST(0),Mem64
11011100oo010mmm
8087
Compare
Mem64
11011100oo010mmm
8087
Compare
ST(0),ST(n)
11011000oo010mmm
8087
Compare
ST(0),Mem32
11011000oo010mmm
8087
Compare
ST(n)
11011000oo010mmm
8087
Compare
Mem32
11011000oo010mmm
8087
Compare
1101100011010001
8087
Compare
FCOMP
ST(0),Mem64
11011100oo011mmm
8087
Compare and Pop
Mem64
11011100oo011mmm
8087
Compare and Pop
ST(0),ST(n)
11011000oo011mmm
8087
Compare and Pop
ST(0),Mem32
11011000oo011mmm
8087
Compare and Pop
ST(n)
11011000oo011mmm
8087
Compare and Pop
Mem32
11011000oo011mmm
8087
Compare and Pop
1101100011011001
8087
Compare and Pop
FICOM
ST(0),Mem16
11011110oo010mmm
8087
Compare (Integer)
Mem16
11011110oo010mmm
8087
Compare (Integer)
ST(0),Mem32
11011010oo010mmm
8087
Compare (Integer)
Mem32
11011010oo010mmm
8087
Compare (Integer)
FICOMP
ST(0),Mem16
11011110oo011mmm
8087
Compare (Integer) and Pop
Mem16
11011110oo011mmm
8087
Compare (Integer) and Pop
ST(0),Mem32
11011010oo011mmm
8087
Compare (Integer) and Pop
Mem32
11011010oo011mmm
8087
Compare (Integer) and Pop
FCOMI
ST(0),ST(n)
1101101111110rrr
PentiumPro
Compare Integer (EFLAGS)
ST(n)
1101101111110rrr
PentiumPro
Compare Integer (EFLAGS)
1101101111110001
PentiumPro
Compare Integer (EFLAGS)
FCOMIP
ST(0),ST(n)
1101111111110rrr
PentiumPro
Compare Integer and Pop (EFLAGS)
ST(n)
1101111111110rrr
PentiumPro
Compare Integer and Pop (EFLAGS)
1101111111110001
PentiumPro
Compare Integer and Pop (EFLAGS)
FUCOMI
ST(0),ST(n)
1101101111101rrr
PentiumPro
Unordered Compare Integer (EFLAGS)
ST(n)
1101101111101rrr
PentiumPro
Unordered Compare Integer (EFLAGS)
1101101111101001
PentiumPro
Unordered Compare Integer (EFLAGS)
FUCOMIP
ST(0),ST(n)
1101111111101rrr
PentiumPro
Unordered Compare Integer (EFLAGS)
ST(n)
1101111111101rrr
PentiumPro
Unordered Compare Integer (EFLAGS)
1101111111101001
PentiumPro
Unordered Compare Integer (EFLAGS)
FUCOMPP
1101111011010101
8086
Compare and Pop and Pop
FCOS
1101100111111111
80387
Cosine
FDECSTP
1101100111110110
8087
Decrement Stack Pointer
FDISI
[FWAIT] 1101101111100001
8087
Disable Interrupts
FNDISI
1101101111100001
8087
Disable Interrupts
FDIV
ST(0),ST(n)
1101100011110rrr
8087
Division
ST(n),ST(0)
1101110011111rrr
8087
Division
ST(0),Mem32
11011000oo110mmm
8087
Division
Mem32
11011000oo110mmm
8087
Division
ST(0),Mem64
11011100oo110mmm
8087
Division
Mem64
11011100oo110mmm
8087
Division
ST(n)
1101110011111rrr
8087
Division
1101110011111001
8087
Division
FDIVP
ST(n),ST(0)
11011110oo111mmm
8087
Division and Pop
ST(n)
11011110oo111mmm
8087
Division and Pop
1101111011111001
8087
Division and Pop
FIDIV
ST(0),Mem16
11011110oo110mmm
8087
Division (Integer) and Pop
Mem16
11011110oo110mmm
8087
Division (Integer) and Pop
ST(0),Mem32
11011010oo110mmm
8087
Division (Integer) and Pop
Mem32
11011010oo110mmm
8087
Division (Integer) and Pop
FDIVR
ST(0),ST(n)
1101100011111rrr
8087
Division Reversed
ST(n),ST(0)
1101110011110rrr
8087
Division Reversed
ST(0),Mem32
11011000oo111mmm
8087
Division Reversed
Mem32
11011000oo111mmm
8087
Division Reversed
ST(0),Mem64
11011100oo111mmm
8087
Division Reversed
Mem64
11011100oo111mmm
8087
Division Reversed
ST(n)
1101110011110rrr
8087
Division Reversed
1101110011110001
8087
Division Reversed
FDIVRP
ST(n),ST(0)
11011110oo110mmm
8087
Division Reversed and Pop
ST(n)
11011110oo110mmm
8087
Division Reversed and Pop
1101111011110001
8087
Division Reversed and Pop
FIDIVR
ST(0),Mem16
11011110oo111mmm
8087
Division Reversed (Integer)
Mem16
11011110oo111mmm
8087
Division Reversed (Integer)
ST(0),Mem32
11011010oo111mmm
8087
Division Reversed (Integer)
Mem32
11011010oo111mmm
8087
Division Reversed (Integer)
FENI
[FWAIT] 1101101111100000
8087
Disable Interrupts
FNENI
1101101111100000
8087
Disable Interrupts
FFREE
ST(n)
1101110111000rrr
8087
Free Register
1101110111000001
8087
Free Register
FINCSTP
1101100111110111
8087
Increment Stack Pointer
FINIT
[FWAIT] 1101101111100011
8087
Initialize FPU
FNINIT
1101101111100011
8087
Initialize FPU
FLD
ST(0),Mem32
11011001oo000mmm
8087
Load Data
Mem32
11011001oo000mmm
8087
Load Data
ST(0),Mem64
11011101oo000mmm
8087
Load Data
Mem64
11011101oo000mmm
8087
Load Data
ST(0),Mem80
11011011oo101mmm
8087
Load Data
Mem80
11011011oo101mmm
8087
Load Data
ST(0),ST(n)
11011001oo000mmm
8087
Load Data
ST(n)
11011001oo000mmm
8087
Load Data
1101100111000001
8087
Load Data
FILD
ST(0),Mem16
11011111oo000mmm
8087
Load Data (Integer)
Mem16
11011111oo000mmm
8087
Load Data (Integer)
ST(0),Mem32
11011011oo000mmm
8087
Load Data (Integer)
Mem32
11011011oo000mmm
8087
Load Data (Integer)
ST(0),Mem64
11011111oo101mmm
8087
Load Data (Integer)
Mem64
11011111oo101mmm
8087
Load Data (Integer)
FBLD
ST(0),Mem80
11011111oo100mmm
8087
Load Data (BCD)
Mem80
11011111oo100mmm
8087
Load Data (BCD)
FLD1
1101100111101000
8087
Load + 1.0
FLDZ
1101100111101110
8087
Load + 0.0
FLDPI
1101100111101011
8087
Load PI
FLDL2E
1101100111101010
8087
Load log2 e
FLDL2T
1101100111101001
8087
Load log2 10
FLDLG2
1101100111101100
8087
Load log10 2
FLDLN2
1101100111101101
8087
Load loge 2
FLDCW
Mem16
11011001oo101mmm
8087
Load Control Register
FLDENV
Mem
11011001oo100mmm
8087
Load Enviroment
FMUL
ST(0),ST(n)
1101100011001rrr
8087
Multiplication
ST(n),ST(0)
1101110011001rrr
8087
Multiplication
ST(0),Mem32
11011000oo001mmm
8087
Multiplication
Mem32
11011000oo001mmm
8087
Multiplication
ST(0),Mem64
11011100oo001mmm
8087
Multiplication
Mem64
11011100oo001mmm
8087
Multiplication
ST(n)
1101110011001rrr
8087
Multiplication
1101110011001001
8087
Multiplication
FMULP
ST(n),ST(0)
11011110oo001mmm
8087
Multiplication and Pop
ST(n)
11011110oo001mmm
8087
Multiplication and Pop
1101111011001001
8087
Multiplication and Pop
FIMUL
ST(0),Mem16
11011110oo001mmm
8087
Multiplication (Integer)
Mem16
11011110oo001mmm
8087
Multiplication (Integer)
ST(0),Mem32
11011010oo001mmm
8087
Multiplication (Integer)
Mem32
11011010oo001mmm
8087
Multiplication (Integer)
FNOP
1101100111010000
8087
No Operation
FPATAN
1101100111110011
8087
Partial Arctangent
FPREM
1101100111111000
8087
Partial Remainder
FPREM1
1101100111110101
80387
Partial Remainder (IEEE)
FPTAN
1101100111110010
8087
Partial Tangent
FRNDINT
1101100111111100
8087
Round to Integer
FRSTOR
Mem112
11011101oo100mmm
8087
Restore State
FSAVE
Mem112
[FWAIT] 11011101oo110mmm
8087
Save Machine State
FNSAVE
Mem112
11011101oo110mmm
8087
Save Machine State
FSCALE
1101100111111101
8087
Scale
FSETPM
1101101111100100
80287
Set Protected Mode
FSIN
1101100111111110
80387
Sine
FSINCOS
1101100111111011
80387
Sine and Cosine
FSQRT
1101100111111010
8087
Square Root
FST
Mem32,ST(0)
11011001oo010mmm
8087
Store
Mem32
11011001oo010mmm
8087
Store
Mem64,ST(0)
11011101oo010mmm
8087
Store
Mem64
11011101oo010mmm
8087
Store
ST(n),ST(0)
11011101oo010mmm
8087
Store
ST(n)
11011101oo010mmm
8087
Store
1101110111010001
8087
Store
FSTP
Mem32,ST(0)
11011001oo011mmm
8087
Store and Pop
Mem32
11011001oo011mmm
8087
Store and Pop
Mem64,ST(0)
11011101oo011mmm
8087
Store and Pop
Mem64
11011101oo011mmm
8087
Store and Pop
Mem80,ST(0)
11011011oo111mmm
8087
Store and Pop
Mem80
11011011oo111mmm
8087
Store and Pop
ST(n),ST(0)
1101110111011rrr
8087
Store and Pop
ST(n)
1101110111011rrr
8087
Store and Pop
1101110111011001
8087
Store and Pop
FIST
Mem16,ST(0)
11011111oo010mmm
8087
Store (Integer)
Mem16
11011111oo010mmm
8087
Store (Integer)
Mem32,ST(0)
11011011oo010mmm
8087
Store (Integer)
Mem32
11011011oo010mmm
8087
Store (Integer)
FISTP
Mem16,ST(0)
11011111oo011mmm
8087
Store (Integer) and Pop
Mem16
11011111oo011mmm
8087
Store (Integer) and Pop
Mem32,ST(0)
11011011oo011mmm
8087
Store (Integer) and Pop
Mem32
11011011oo011mmm
8087
Store (Integer) and Pop
Mem64,ST(0)
11011111oo111mmm
8087
Store (Integer) and Pop
Mem64
11011111oo111mmm
8087
Store (Integer) and Pop
FBSTP
Mem80,ST(n)
11011111oo110mmm
8087
Store (BCD) and Pop
Mem80
11011111oo110mmm
8087
Store (BCD) and Pop
FSTCW
Mem16
[FWAIT] 11011001oo111mmm
8087
Store Control Register
FNSTCW
Mem16
11011001oo111mmm
8087
Store Control Register
FSTENV
Mem
[FWAIT] 11011001oo110mmm
8087
Store Environment
FNSTENV
Mem
11011001oo110mmm
8087
Store Environment
FSTSW
Mem16
[FWAIT] 11011101oo111mmm
8087
Store Status Register
AX
[FWAIT] 1101111111100000
8087
Store Status Register
FNSTSW
Mem16
11011101oo111mmm
8087
Store Status Register
AX
1101111111100000
8087
Store Status Register
FSUB
ST(0),ST(n)
1101100011100rrr
8087
Subtraction
ST(n),ST(0)
1101110011101rrr
8087
Subtraction
ST(0),Mem32
11011000oo100mmm
8087
Subtraction
Mem32
11011000oo100mmm
8087
Subtraction
ST(0),Mem64
11011100oo100mmm
8087
Subtraction
Mem64
11011100oo100mmm
8087
Subtraction
ST(n)
1101110011101rrr
8087
Subtraction
1101110011101001
8087
Subtraction
FSUBP
ST(n),ST(0)
11011110oo101mmm
8087
Subtraction and Pop
ST(n)
11011110oo101mmm
8087
Subtraction and Pop
1101111011101001
8087
Subtraction and Pop
FISUB
ST(0),Mem16
11011110oo100mmm
8087
Subtraction (Integer)
Mem16
11011110oo100mmm
8087
Subtraction (Integer)
ST(0),Mem32
11011010oo100mmm
8087
Subtraction (Integer)
Mem32
11011010oo100mmm
8087
Subtraction (Integer)
FSUBR
ST(0),ST(n)
1101100011101rrr
8087
Reverse Subtraction
ST(n),ST(0)
1101110011100rrr
8087
Reverse Subtraction
ST(0),Mem32
11011000oo101mmm
8087
Reverse Subtraction
Mem32
11011000oo101mmm
8087
Reverse Subtraction
ST(0),Mem64
11011100oo101mmm
8087
Reverse Subtraction
Mem64
11011100oo101mmm
8087
Reverse Subtraction
ST(n)
1101110011100rrr
8087
Reverse Subtraction
1101110011100001
8087
Reverse Subtraction
FSUBRP
ST(n),ST(0)
11011110oo100mmm
8087
Reverse Subtraction and Pop
ST(n)
11011110oo100mmm
8087
Reverse Subtraction and Pop
1101111011100001
8087
Reverse Subtraction and Pop
FISUBR
ST(0),Mem16
11011110oo101mmm
8087
Reverse Subtraction (Integer)
Mem16
11011110oo101mmm
8087
Reverse Subtraction (Integer)
ST(0),Mem32
11011010oo101mmm
8087
Reverse Subtraction (Integer)
Mem32
11011010oo101mmm
8087
Reverse Subtraction (Integer)
FTST
1101100111100100
8087
Compare with 0.0
FUCOM
ST(0),ST(n)
1101110111100rrr
80387
Unordered Compare
ST(n),ST(0)
1101110111100rrr
80387
Unordered Compare
ST(n)
1101110111100rrr
80387
Unordered Compare
1101110111100001
80387
Unordered Compare
FUCOMP
ST(0),ST(n)
1101110111101rrr
80387
Unordered Compare and Pop
ST(n),ST(0)
1101110111101rrr
80387
Unordered Compare and Pop
ST(n)
1101110111101rrr
80387
Unordered Compare and Pop
1101110111101001
80387
Unordered Compare and Pop
FUCOMPP
ST(0),ST(n)
1101101011101rrr
80387
Unordered Compare and Pop and Pop
ST(n),ST(0)
1101101011101rrr
80387
Unordered Compare and Pop and Pop
ST(n)
1101101011101rrr
80387
Unordered Compare and Pop and Pop
1101101011101001
80387
Unordered Compare and Pop and Pop
FWAIT
10011011
8086
Wait for FPU
FXAM
1101100111100101
8087
Examine
FXCH
ST(0),ST(n)
1101100111001rrr
8087
Exchange with Register
ST(n),ST(0)
1101100111001rrr
8087
Exchange with Register
ST(n)
1101100111001rrr
8087
Exchange with Register
1101100111001001
8087
Exchange with Register
FXTRACT
1101100111110100
8087
Extract Components
FYL2X
1101100111110001
8087
ST(1) * log2 ST(0)
FYL2XP1
1101100111111001
8087
ST(1) * log2 (ST(0)+1.0)
Condition codes.
CCCC
Name
Means
In short
0000
O
overflow
o=1
0001
NO
Not overflow
o=0
0010
C/B/NAE
Carry, below, not above nor equal
c=1
0011
NC/AE/NB
Not carry, above or equal, not below
c=0
0100
E/Z
Equal, zero
z=1
0101
NE/NZ
Not equal, not zero
z=0
0110
BE/NA
Below or equal, not above
c=1 or z=1
0111
A/NBE
Above, not below nor equal
c=0 and z=0
1000
S
Sign (negative)
s=1
1001
NS
Not sign
s=0
1010
P/PE
Parity, parity even
p=1
1011
NP/PO
Not parity, parity odd
p=0
1100
L/NGE
Less, not greater nor equal
s<>o
1101
GE/NL
Greater or egual, not less
s=o
1110
LE/NG
Less or equal, not greater
z=1 or s<>o
1111
G/NLE
Greater, not less nor equal
z=0 and s=o
Condition codes for FCMOVcc.
cc
n
Name
Means
In short
00
0
C/B/NAE
Carry, below, not above nor equal
c=1
00
1
NC/AE/NB
Not carry, above or equal, not below
c=0
01
0
E/Z
Equal, zero
z=1
01
1
NE/NZ
Not equal, not zero
z=0
10
0
BE/NA
Below or equal, not above
c=1 or z=1
10
1
A/NBE
Above, not below nor equal
c=0 and z=0
11
0
U
Unordered
C2=1
11
1
NU
Not Unordered
C2=0