首页
社区
课程
招聘
[旧帖] [分享]80x86 opcodes 0.00雪花
发表于: 2012-8-11 15:30 1037

[旧帖] [分享]80x86 opcodes 0.00雪花

2012-8-11 15:30
1037
找了好久,终于找到个比较全的,分享给大家

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
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

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//