mirror of
https://github.com/dbalsom/x86_microcode.git
synced 2026-06-09 13:04:17 +03:00
539 lines
28 KiB
Plaintext
539 lines
28 KiB
Plaintext
?000000001?01 0000000000000000
|
|
?0001?0001?01 0000000000000000
|
|
?001?00001?01 0000000000000000
|
|
?00?010001?01 0000000000000000
|
|
?000000010?01 0000000000000000
|
|
?0001?0010?01 0000000000000000
|
|
?0010?0010?01 0000000000000000
|
|
?001110010?0? 0000000000000000
|
|
?001110011?00 0000000000000000
|
|
?00000001??00 0000000000000000
|
|
?0001?001??00 0000000000000000
|
|
?001?0001??00 0000000000000000
|
|
?00?01001??00 0000000000000000
|
|
?0000100?0?01 0000000000000000
|
|
?0011000?0?01 0000000000000000
|
|
?0000001???01 0000000000000000
|
|
?0001?01???01 0000000000000000
|
|
?0010?01???01 0000000000000000
|
|
?00001100??01 0000000000000000
|
|
?00110100??01 0000000000000000
|
|
?000011111?00 0000000000000000
|
|
?000001111?0? 0000000000000000
|
|
?0001?1111?0? 0000000000000000
|
|
?0010?1111?0? 0000000000000000
|
|
?0000011?0?01 0000000000000000
|
|
?0001?11?0?01 0000000000000000
|
|
?0010?11?0?01 0000000000000000
|
|
?000001?01?01 0000000000000000
|
|
?0001?1?01?01 0000000000000000
|
|
?0010?1?01?01 0000000000000000
|
|
?00000?000?01 0000000000000000
|
|
?0001??000?01 0000000000000000
|
|
?0010??000?01 0000000000000000
|
|
?00111?00??01 0000000000000000
|
|
?00001?1???01 0000000000000000
|
|
?0011??1???01 0000000000000000
|
|
?01???0000?01 0000000000000000
|
|
?01???0010?00 0000000000000000
|
|
?01???0011?01 0000000000000000
|
|
?01???0101?01 0000000000000000
|
|
?01???0111?00 0000000000000000
|
|
?01???01?0?01 0000000000000000
|
|
?010001011?00 0000000000000000
|
|
?01?011011?00 0000000000000000
|
|
?01?1?1011?00 0000000000000000
|
|
?011001011?00 0000000000000000
|
|
?01???10?0?01 0000000000000000
|
|
?010001101?00 0000000000000000
|
|
?01?011101?00 0000000000000000
|
|
?01?1?1101?00 0000000000000000
|
|
?011001101?00 0000000000000000
|
|
?0100011?0?00 0000000000000000
|
|
?01?0111?0?00 0000000000000000
|
|
?01?1?11?0?00 0000000000000000
|
|
?0110011?0?00 0000000000000000
|
|
?01????001?01 0000000000000000
|
|
?100000000100 0000000000000000
|
|
?10???0001?00 0000000000000000
|
|
?1000?0100?00 0000000000000000
|
|
?1001?0?00?00 0000000000000000
|
|
?101??0?00?00 0000000000000000
|
|
?10???1001?01 0000000000000000
|
|
?10???101??01 0000000000000000
|
|
?10???1?00?01 0000000000000000
|
|
?10????101?00 0000000000000000
|
|
?10????11??00 0000000000000000
|
|
?111?00000000 0000000000000000
|
|
?11?000000100 0000000000000000
|
|
?1101?0000?00 0000000000000000
|
|
?111?10000?00 0000000000000000
|
|
?11110000?100 0000000000000000
|
|
?11???011??01 0000000000000000
|
|
?1111001?1100 0000000000000000
|
|
?111100?01000 0000000000000000
|
|
?110010?01?00 0000000000000000
|
|
?1101?0?01?00 0000000000000000
|
|
?111?10?01?00 0000000000000000
|
|
?11?000?01?00 0000000000000000
|
|
?11???10???01 0000000000000000
|
|
?11????100?00 0000000000000000
|
|
?1?0000000000 0000000000000000
|
|
?1?0010000?00 0000000000000000
|
|
?1????001??00 0000000000000000
|
|
|
|
.abRRRcdefg0i
|
|
?00???101?00? 0000000000000011 MOV rm,r / MOV r,rm rm = register
|
|
?010000001000 0000000000000101 MOV rm,i rm = register
|
|
?0001?1101000 0000000000000111 MOV(ZX) rmv,SS/DS rm = register
|
|
?00?0?1101000 0000000000000111 MOV(ZX) rmv,ES/CS/FS/GS rm = register
|
|
?000001100000 0000000000001001 MOV ES,rmw real rm = register
|
|
?0001?1100000 0000000000001001 MOV SS/DS,rmw real rm = register
|
|
?0010?1100000 0000000000001001 MOV FS/GS,rmw real rm = register
|
|
?0001011?0100 0001000000001011 MOV SS,rmw rm = memory
|
|
?0000011?0100 0001000000001111 MOV ES,rmw rm = memory
|
|
?0001111?0100 0001000000001111 MOV DS,rmw rm = memory
|
|
?0010?11?0100 0001000000001111 MOV FS/GS,rmw rm = memory
|
|
?00???101010? 0001000000010011 MOV rm,r rm = memory
|
|
?010000001100 0001000000010101 MOV rm,i rm = memory
|
|
?0001?1101100 0001000000010111 MOV(ZX) rmv,SS/DS rm = memory
|
|
?00?0?1101100 0001000000010111 MOV(ZX) rmv,ES/CS/FS/GS rm = memory
|
|
?00???101110? 0001000000011001 MOV r,rm rm = memory
|
|
?00???000?000 0000000000011101 alu rm<->r excluding CMP rm = register
|
|
?00???0100000 0000000000011111 CMP rm,r rm = register
|
|
?00???01?1000 0000000000011111 CMP r,rm / TEST rm,r rm = register
|
|
?0100?010?000 0000000000100001 INC/DEC rm rm = register
|
|
?0101?0110000 0000000000100001 NOT/NEG rm rm = register
|
|
?000000110000 0000000000100011 ADD rm,i rm = register
|
|
?0001?0110000 0000000000100011 ADC/SBB rm,i rm = register
|
|
?001?00110000 0000000000100011 AND/XOR rm,i rm = register
|
|
?00?010110000 0000000000100011 OR/SUB rm,i rm = register
|
|
?001110110000 0000000000100101 CMP rm,i rm = register
|
|
?0100?0110000 0000000000100101 TEST rm,i rm = register
|
|
?00???0001100 0001000000100111 alu r,rm excluding CMP rm = memory
|
|
?00???0101100 0001000000101100 CMP r,rm rm = memory
|
|
?001110110100 0001000000110001 CMP rm,i rm = memory
|
|
?0100?0110100 0001000000110001 TEST rm,i rm = memory
|
|
?00???0100100 0001000000110101 CMP rm,r rm = memory
|
|
?00???0111100 0001000000110101 TEST rm,r rm = memory
|
|
?000000110100 1001000000111001 ADD rm,i rm = memory
|
|
?0001?0110100 1001000000111001 ADC/SBB rm,i rm = memory
|
|
?001?00110100 1001000000111001 AND/XOR rm,i rm = memory
|
|
?00?010110100 1001000000111001 AND/XOR rm,i rm = memory
|
|
?10???1101001 0000000000111101 SETcond rmb rm = register
|
|
?10???1101101 0001000001000011 SETcond rmb rm = memory
|
|
?00???0000100 1001000001001010 alu rm,r excluding CMP rm = memory
|
|
?0100?010?100 1001000001001110 INC/DEC rm rm = memory
|
|
?0101?0110100 1001000001001110 NOT/NEG rm rm = memory
|
|
?011000101000 0000000001101101 JMP rmv rm = register
|
|
?011000101100 0001000001101111 JMP rmv rm = memory
|
|
?010100101000 0010000001111001 CALL rmv rm = register
|
|
?010100101100 0001000001111100 CALL rmv rm = memory
|
|
?011100101100 0001000010000001 PUSH rmv rm = memory
|
|
?011100101000 0010000010000110 PUSH rmv rm = register
|
|
?010000000000 0011000010011111 POP rmv rm = register
|
|
?010000000100 0011000010101100 POP rmv rm = memory
|
|
?00???1000100 1001000010110001 XCHG rm,r rm = memory
|
|
?00???1000000 0000000010110110 XCHG rm,r rm = register
|
|
?11???1000100 0001000010111001 LEA rv,m rm = memory
|
|
?11???1010100 0001000010111011 LDS rv,m rm = memory
|
|
?11???1001100 0001000011000010 LES rv,m rm = memory
|
|
?11???1100101 0001000011001001 LSS rv,m rm = memory
|
|
?01???1110101 0001000011010000 LFS/LGS rv,m rm = memory
|
|
?0101?1000000 0000000011100101 RCL/RCR rm,ib rm = register
|
|
?0101?1010000 0000000011101001 RCL/RCR rm,CL rm = register
|
|
?0100?1000000 0000000011111001 ROL/ROR rm,ib rm = register
|
|
?011??1000000 0000000011111001 SHL/SHR/SAR rm,ib rm = register
|
|
?10???0110001 0000000011111100 SHxD rmv,rv,ib rm = register
|
|
?0100?1010000 0000000011111111 ROL/ROR rm,CL rm = register
|
|
?011??1010000 0000000011111111 SHL/SHR/SAR rm,CL rm = register
|
|
?10???0111001 0000000100000010 SHxD rmv,rv,CL rm = register
|
|
?01???1001000 0000000100000101 rot rm,1 rm = register
|
|
?0101?1000100 0001000100001000 RCL/RCR rm,ib rm = memory
|
|
?0101?1010100 0001000100001100 RCL/RCR rm,CL rm = memory
|
|
?0100?1000100 0001000100011110 ROL/ROR rm,ib rm = memory
|
|
?011??1000100 0001000100011110 SHL/SHR/SAR rm,ib rm = memory
|
|
?10???0110101 0001000100100100 SHxD rmv,rv,ib rm = memory
|
|
?01???1001100 0001000100101010 rot rm,1 rm = memory
|
|
?0100?1010100 0001000100101101 ROL/ROR rm,CL rm = memory
|
|
?011??1010100 0001000100101101 SHL/SHR/SAR rm,CL rm = memory
|
|
?10???0111101 0001000100101111 SHxD rmv,rv,CL rm = memory
|
|
?01???1011001 0000000100110001 BT rv/m,rv rm = register
|
|
?01???1011101 0001000100110100 BT rv/m,rv rm = memory
|
|
?011001100001 0000000100111111 BT rv/m,ib rm = register
|
|
?011001100101 0001000101000010 BT rv/m,ib rm = memory
|
|
?01???1101001 0000000101000111 BTS/BTR/BTC rv/m,rv rm = register
|
|
?01???1101101 1001000101001101 BTS/BTR/BTC rv/m,rv rm = memory
|
|
?011011100001 0000000101011010 BTS rv/m,ib rm = register
|
|
?0111?1100001 0000000101011010 BTR/BTC rv/m,ib rm = register
|
|
?011011100101 1001000101100000 BTS rv/m,ib rm = memory
|
|
?0111?1100101 1001000101100000 BTR/BTC rv/m,ib rm = memory
|
|
?11???0000001 0000000101101000 BSF rv,rmv rm = register
|
|
?11???0000101 0001000101110111 BSF rv,rmv rm = memory
|
|
?11???0001001 0000000101111010 BSR rv,rmv rm = register
|
|
?11???0001101 0001000110000100 BSR rv,rmv rm = memory
|
|
?0110?0110000 0000000110100101 MUL/IMUL rm rm = register
|
|
?0110?0110100 0001000110101111 MUL/IMUL rm rm = memory
|
|
?00???0011001 0000000110110011 IMUL rm,rmv rm = register
|
|
?00???0011101 0001000110111101 IMUL rm,rmv rm = memory
|
|
?00???1001100 0001000111000001 IMUL rv,rmv,i rm = memory
|
|
?00???1001000 0000000111000100 IMUL rv,rmv,i rm = register
|
|
?011100110000 0000000111000111 DIV rm rm = register
|
|
?011100110100 0001000111001111 DIV rm rm = memory
|
|
?011110110000 0000000111010011 IDIV rm rm = register
|
|
?011110110100 0001000111100001 IDIV rm rm = memory
|
|
?10???1110001 0000000111101000 MOVZX/MOVSX r,rm (16-bit?) rm = register
|
|
?10???1110101 0001000111101011 MOVZX/MOVSX r,rm (16-bit?) rm = memory
|
|
?10???1111001 0000000111110000 MOVZX/MOVSX r,rm (32-bit?) rm = register
|
|
?10???1111101 0001000111110011 MOVZX/MOVSX r,rm (32-bit?) rm = memory
|
|
?010110101100 0001001011011010 CALL mp rm = memory
|
|
?011010101100 0001001011110101 JMP mp rm = memory
|
|
?100110001101 0001001100101110 LIDT rmw rm = memory
|
|
?100100001101 0001001100110010 LGDT rmw rm = memory
|
|
?100010001101 0000001100111101 SIDT rmw rm = memory
|
|
?100000001101 0000001101000000 SGDT rmw rm = memory
|
|
?101100001101 0001001101001001 LMSW rmw rm = memory
|
|
?101100001001 0000001101001110 LMSW rmw rm = register
|
|
?101000001001 0000001101011000 SMSW rmw rm = register
|
|
?101000001101 0001001101011010 SMSW rmw rm = memory
|
|
?110000010?01 0000001101011100 MOV CR0,rd
|
|
?110100010?01 0000001101101000 MOV CR2,rd
|
|
?110110010?01 0000001101101100 MOV CR3,rd
|
|
?110000011?01 0000001101110001 MOV rd,CR0
|
|
?110100011?01 0000001101110111 MOV rd,CR2
|
|
?110110011?01 0000001101111001 MOV rd,CR3
|
|
?111?00100?01 0000001101111011 MOV DR4/6,rd
|
|
?111?10100?01 0000001101111111 MOV DR5/7,rd
|
|
?110??0100?01 0000001110001010 MOV DR0-3,rd
|
|
?011??0010?01 0000001110010001 MOV TRn,rd
|
|
?111?00101?01 0000001110100110 MOV rd,DR4/6
|
|
?111?10101?01 0000001110101010 MOV rd,DR5/7
|
|
?110??0101?01 0000001110101110 MOV rd,DR0-3
|
|
?011??0111?01 0000001110110110 MOV rd,TRn
|
|
?11???0111000 0000001111001101 ESC 3 rm = register FENI/FDISI/FCLEX/FINIT/FSETPM/FRSTPM
|
|
?10111101?100 0000001111011001 ESC 5/1,7 rm = memory FSTCW/FSTSW mw
|
|
?101??1100000 0000001111011010 ESC 7,4-7 rm = register FSTSW AX/FNSTDW/FNSTSG
|
|
?101101011100 0001001111101101 ESC 1,6 rm = memory FSTENV m
|
|
?101101010100 0001001111110000 ESC 5,6 rm = memory FSAVE m
|
|
?101001011100 0001010001011001 ESC 1,4 rm = memory FLDENV m
|
|
?101001010100 0001010001011100 ESC 5,4 rm = memory FRSTOR m
|
|
?100??1001000 0000010011000001 ESC 6,0-3 rm = register FADDP/FMULP/FCOMP/??? STi,ST0
|
|
?10?011010100 0000010011000001 ESC 5,1/5 rm = memory unknown fp op?
|
|
?100011011?00 0000010011000001 ESC 1,1 FXCH ST0,STi
|
|
?10000101?000 0000010011000001 ESC 5/1,0 rm = register FLD STi/FFREE STi
|
|
?1001?101?000 0000010011000001 ESC 5/1,2-3 rm = register FCOM/FCOMP STi
|
|
?1000110?0000 0000010011000001 ESC 0/2/5,1 rm = register FMUL/FXCH ST0,STi
|
|
?101??10??000 0000010011000001 ESC 0/2/6/5/1,4-7 rm = register FSUB/FSUBR/FDIV/FDIVR ST0,STi / FCHS/FABS/FTST/FXAM/FLD1/FLD1/FLDL2T/FLDL2E/FLDPI/FLDLG2/FLDLN2/FLDZ/F2XM1/FYL2X/FPTAN/FPATAN/FXTRACT/FPREM1/FDECSTP/FINCSTP/FPREM/FYL2XP1/FSQRT/FSINCOS/FRNDINT/FSCALE/FSIN/FCOS/FUCOMPP / FUCOM/FUCOMP STi / FSUBRP/FSUBP/FDIVRP/FDIVP STi,ST0
|
|
?100011100?00 0000010011000001 ESC 7,1 FXCH ST0,STi
|
|
?100001?00000 0000010011000001 ESC 0/2/7,0 rm = register
|
|
?1001?1?00000 0000010011000001 ESC 0/2/7,2-3 rm = register
|
|
?11???0110000 0000010011000001 ESC 4 rm = register FADD/FMUL/FCOM/FCOMP/FSUBR/FSUB/FDIVR/FDIV STi,ST0
|
|
?110010111100 0000010011000001 ESC 3,1 rm = memory unknown fp op?
|
|
?111000111100 0000010011000001 ESC 3,4 rm = memory unknown fp op?
|
|
?101001100100 0001010011010011 ESC 7,4 rm = memory FBLD mt
|
|
?111010111100 0001010011010011 ESC 3,5 rm = memory FLD mt
|
|
?10???1000100 0001010011010111 ESC 0/2 rm = memory FADD/FMUL/FCOM/FCOMP/FSUB/FSUBR/FDIV/FDIVR/FIADD/FIMUL/FICOM/FICOMP/FISUB/FISUBR/FIDIV/FIDIVR md
|
|
?100001011100 0001010011010111 ESC 1,0 rm = memory FLD md
|
|
?110000111100 0001010011010111 ESC 3,0 rm = memory FILD md
|
|
?100001010100 0001010011011011 ESC 5,0 rm = memory FLD mq
|
|
?101011100100 0001010011011011 ESC 7,5 rm = memory FILD mq
|
|
?11???0110100 0001010011011011 ESC 4 rm = memory FADD/FMUL/FCOM/FCOMP/FSUBR/FSUB/FDIVR/FDIV mq
|
|
?101011011100 0001010011011111 ESC 1,5 rm = memory FLDCW mw
|
|
?10???1001100 0001010011100000 ESC 6 rm = memory FIADD/FIMUL/FICOM/FICOMP/FISUB/FISUBR/FIDIV/FIDIVR mw
|
|
?100001100100 0001010011100000 ESC 7,0 rm = memory FILD mw
|
|
?101101100100 0001010100111000 ESC 7,6 rm = memory FBSTP mt
|
|
?111110111100 0001010100111000 ESC 3,7 rm = memory FSTP mt
|
|
?1001?1011100 0001010100111100 ESC 1,2-3 rm = memory FST/FSTP md
|
|
?1101?0111100 0001010100111100 ESC 3,2-3 rm = memory FIST/FISTP md
|
|
?1001?1010100 0001010101000000 ESC 5,2-3 rm = memory FST/FSTP mq
|
|
?101111100100 0001010101000000 ESC 7,7 rm = memory FISTP mq
|
|
?1001?1100100 0001010101000100 ESC 7,2-3 rm = memory FIST/FISTP mw
|
|
?000001110000 0000010110000000 MOV ES,rmw protected rm = register
|
|
?000111110000 0000010110000000 MOV DS,rmw protected rm = register
|
|
?0010?1110000 0000010110000000 MOV FS/GS,rmw protected rm = register
|
|
?000101110000 0000010110000101 MOV SS,rmw protected rm = register
|
|
?01???0011100 0001011010101010 ARPL rmw,rw protected rm = memory
|
|
?01???0011000 0000011010110110 ARPL rmw,rw protected rm = register
|
|
?100110000101 0001011010111110 LTR rmw rm = memory
|
|
?100110000001 0000011011000011 LTR rmw rm = register
|
|
?100010000101 0001011011001101 STR rmw rm = memory
|
|
?100010000001 0000011011001111 STR rmw rm = register
|
|
?100100000101 0001011011010001 LLDT rmw rm = memory
|
|
?100100000001 0000011011010110 LLDT rmw rm = register
|
|
?100000000101 0001011011100000 SLDT rmw rm = memory
|
|
?100000000001 0000011011100010 SLDT rmw rm = register
|
|
?10???0010101 0001011011100100 LAR rv,rmv protected rm = memory
|
|
?10???0010001 0000011011100111 LAR rv,rmv protected rm = register
|
|
?10???0011101 0001011011101010 LSL rv,rmv rm = memory
|
|
?10???0011001 0000011011101100 LSL rv,rmv rm = register
|
|
?101000000101 0001011100000000 VERR rmw rm = memory
|
|
?101000000001 0000011100000011 VERR rmw rm = register
|
|
?101010000101 0001011100000110 VERW rmw rm = memory
|
|
?101010000001 0000011100001001 VERW rmw rm = register
|
|
?11???1011100 0001100000011000 BOUND rv,m2v rm = memory
|
|
?0000111?0?00 0000100000101011 illegal?
|
|
?0011?11???00 0000100000101011 illegal?
|
|
?0101?0000000 0000100000101011 illegal?
|
|
?0110?0000000 0000100000101011 illegal?
|
|
?010100000100 0000100000101011 illegal?
|
|
?011000000100 0000100000101011 illegal?
|
|
?010010000?00 0000100000101011 illegal?
|
|
?0101?0001?00 0000100000101011 illegal?
|
|
?011?00001?00 0000100000101011 illegal?
|
|
?01?010001?00 0000100000101011 illegal?
|
|
?010??0010?01 0000100000101011 illegal?
|
|
?010100100?00 0000100000101011 illegal?
|
|
?011000100?00 0000100000101011 illegal?
|
|
?01011010?000 0000100000101011 illegal?
|
|
?01101010?000 0000100000101011 illegal?
|
|
?010110?00100 0000100000101011 illegal?
|
|
?011010?00100 0000100000101011 illegal?
|
|
?011100?00?00 0000100000101011 illegal?
|
|
?011110?0??00 0000100000101011 illegal?
|
|
?010??1100101 0000100000101011 illegal?
|
|
?011??1110001 0000100000101011 illegal?
|
|
?011??1111?01 0000100000101011 illegal?
|
|
?010??11?0001 0000100000101011 illegal?
|
|
?010???111?01 0000100000101011 illegal?
|
|
?101100000?01 0000100000101011 illegal?
|
|
?100??0001001 0000100000101011 illegal?
|
|
?101010001?01 0000100000101011 illegal?
|
|
?10111000??01 0000100000101011 illegal?
|
|
?1000?010??01 0000100000101011 illegal?
|
|
?1010?010??01 0000100000101011 illegal?
|
|
?10?1?010??01 0000100000101011 illegal?
|
|
?11001001??01 0000100000101011 illegal?
|
|
?111??001??01 0000100000101011 illegal?
|
|
?11???10??000 0000100000101011 illegal?
|
|
?11???1100001 0000100000101011 illegal?
|
|
?11???1111?01 0000100000101011 illegal?
|
|
??1???1111?00 0000100000101011 illegal?
|
|
?11???1110?0? 0000100001000100 unused?
|
|
?11???1101?0? 0000100001001001 unused?
|
|
|
|
?0000000???10 0000000000000000 ADD rm,r 00
|
|
?0001?00???10 0000000000000000 ADC/SBB rm,r
|
|
?001?000???10 0000000000000000 AND/XOR rm,r
|
|
?00?0100???10 0000000000000000 OR/SUB rm,r
|
|
?00001111??10 0000000000000000 0F prefix
|
|
?001??110??10 0000000000000000 ES:/CS:/SS:/DS:
|
|
?0110010???10 0000000000000000 FS:/GS:
|
|
?0110011???10 0000000000000000 operand size prefix, address size prefix
|
|
?1111001???10 0000000000000000 REP/REPNE
|
|
?11110000??10 0000000000000000 LOCK
|
|
?0000001???10 0000000000000001 ADD r,rm 04
|
|
?0001?01???10 0000000000000001 ADC/SBB r,rm
|
|
?001?001???10 0000000000000001 AND/XOR r,rm
|
|
?00?0101???10 0000000000000001 OR/SUB r,rm
|
|
?10101111??11 0000000000000011 IMUL rm,rmv 0c
|
|
?0011100???10 0000000000000100 CMP rm,r 10
|
|
?0011101???10 0000000000000101 CMP r,rm 14
|
|
?1011??????10 0000000000000101 MOV r,i
|
|
?100000????10 0000000000000110 alu rm,i 18
|
|
?1000010???10 0000000000000111 TEST rm,r 1c
|
|
?1000011???10 0000000000001000 XCHG rm,r 20
|
|
?011010?1??10 0000000000001001 IMUL rv,rmv,i 24
|
|
?1000100???10 0000000000001010 MOV rm,r 28
|
|
?0001000???11 0000000000001010 UMOV rm,r
|
|
?1000101???10 0000000000001011 MOV r,rm 2c
|
|
?0001001???11 0000000000001011 UMOV r,rm
|
|
?10001110?010 0000000000001100 MOV segreg,rmw 30
|
|
?10001100??10 0000000000001101 MOV(ZX) rmv,segreg 34
|
|
?10001110?110 0000000000001110 MOV segreg,rmw 38
|
|
?10001111??10 0000000000010000 POP mv 40
|
|
?1100011???10 0000000000010001 MOV rm,i 44
|
|
?00100110??11 0000000000010010 MOV TRn,rd 48
|
|
?01100011?110 0000000000010011 ARPL rmw,rw 4c
|
|
?1010001???10 0001000000010011 MOV [i],A
|
|
?11111110??10 0000000000010100 misc rmb 50
|
|
?11111111??10 0000000000010101 misc rmv 54
|
|
?1111011???10 0000000000010110 math rm 58
|
|
?00100100??11 0000000000010111 MOV rd,TRn 5c
|
|
?1100000???10 0000000000011000 rot rm,ib 60
|
|
?1101000???10 0000000000011001 rot rm,1 64
|
|
?1010000???10 0001000000011001 MOV A,[i]
|
|
?1101001???10 0000000000011010 rot rm,CL 68
|
|
?10100011??11 0000000000011011 BT rv/m,rv 6c
|
|
?10111010??11 0000000000011100 BT/BTS/BTR/BTC rv/m,ib 70
|
|
?10101011??11 0000000000011101 BTS rv/m,rv 74
|
|
?1011?011??11 0000000000011101 BTR/BTC rv/m,rv
|
|
?1011010???11 0000000000011110 LFS/LGS rv,m 78 IMM = 0x34 for LFS (opcode = 0xb4) and 0x35 for LGS (opcode = 0xb5)
|
|
?01100011?010 0000000000011111 ARPL rmw,rw 7c
|
|
?00000000?011 0000000000011111 SLDT/STR/LLT/LTR/VERR/VERW rmw
|
|
?0000001??011 0000000000011111 LAR/LSL rv,rmv
|
|
?00000000?111 0000000000100000 SLDT/STR/LLT/LTR/VERR/VERW rmw 80
|
|
?0100??????10 0000000000100001 INC/DEC rv 84
|
|
?00000001??11 0000000000100001 SGDT/SIDT/LGDT/LIDT/SMSW/LMSW rmw
|
|
?00000010?111 0000000000100010 LAR rv,rmv 88
|
|
?0000010???10 0000000000100011 ADD A,i weird? 8c
|
|
?0001?10???10 0000000000100011 ADC/SBB A,i weird?
|
|
?001?010???10 0000000000100011 AND/XOR A,i weird?
|
|
?00?0110???10 0000000000100011 OR/SUB A,i weird?
|
|
?00000011?111 0000000000100011 LSL rv,rmv
|
|
?10100111??11 0000000000100100 IBTS rmv,eAX,CL,rv 90
|
|
?0011110???10 0000000000100101 CMP A,i 94
|
|
?1010100???10 0000000000100101 TEST A,i
|
|
?10100110??11 0000000000100101 XBTS rv,rmv,eAX,CL
|
|
?1010?100??11 0000000000100110 SHxD rmv,rv,ib 98
|
|
?1010?101??11 0000000000100111 SHxD rmv,rv,CL 9c
|
|
?110110?0??10 0000000000101000 ESC 0/2 a0
|
|
?11011110??10 0000000000101001 ESC 6 a4
|
|
?11011101??10 0000000000101010 ESC 5 a8
|
|
?11011001??10 0000000000101011 ESC 1 ac
|
|
?11011111??10 0000000000101100 ESC 7 b0
|
|
?1001??????11 0000000000101101 SETcond rmb b4
|
|
01011?11???11 0000000000101110 MOVZX/MOVSX r,rm b8
|
|
11011?11???11 0000000000101111 MOVZX/MOVSX r,rm bc
|
|
?10111100??11 0000000000110000 BSF rv,rmv c0
|
|
?10111101??11 0000000000110001 BSR rv,rmv c4
|
|
?00100010??11 0000000000110010 MOV CRn,rd c8
|
|
?00100000??11 0000000000110011 MOV rd,CRn cc
|
|
?00100011??11 0000000000110100 MOV DRn,rd d0
|
|
?00100001??11 0000000000110101 MOV rd,DRn d4
|
|
?11011100??10 0000000000110110 ESC 4 d8
|
|
?11011011??10 0000000000110111 ESC 3 dc
|
|
?10001101??10 0000000000111000 LEA rv,m e0
|
|
?11000100??10 0000000000111001 LES e4
|
|
?11000101??10 0000000000111010 LDS e8
|
|
?01100010??10 0000000000111011 BOUND rv,m2v ec
|
|
?10110010??11 0000000000111100 LSS rv,m f0 IMM = 0x32 (opcode = 0xb2)
|
|
?11100011??10 0000000001010001 JCXZ cb
|
|
?11100010??10 0000000001010111 LOOP cb
|
|
?1110000???10 0000000001011111 LOOPE/LOOPNE cb
|
|
?0111??????10 0000000001100101 Jcond cb
|
|
?1000??????11 0000000001100101 Jcond cv
|
|
?111010?1??10 0000000001101010 JMP c
|
|
?1100001???10 0011000001110010 RET/RET iw
|
|
?11101000??10 0010000001110101 CALL cw
|
|
?01010?????10 0010000010000110 PUSH rv
|
|
?01100000??10 0000000010001000 PUSHAd
|
|
001100001??10 0011000010010001 POPAd
|
|
101100001??10 0011000010010111 POPAd
|
|
?000??110??10 0010000010011011 PUSH segreg
|
|
?1010?000??11 0010000010011011 PUSH FS/GS
|
|
?011010?0??10 0010000010011101 PUSH i
|
|
?01011?????10 0011000010011111 POP rv
|
|
?00010111??10 0011000010100010 POP SS
|
|
?00000111??10 0011000010100111 POP ES
|
|
?00011111??10 0011000010100111 POP DS
|
|
?1010?001??11 0011000010100111 POP FS/GS
|
|
?10010?????10 0000000010110110 XCHG eAX,rv
|
|
?10011111??10 0000000011010111 LAHF
|
|
?10011110??10 0000000011011001 SAHF
|
|
?00000110??11 0000000011011100 CLTS
|
|
?11010110??10 0000000011100001 SALC
|
|
?0011?111??10 0000000110000111 AAD/AAS
|
|
?0010?111??10 0000000110001011 DAA/DAS
|
|
?11010100??10 0000000110001111 AAM ib
|
|
?11010101??10 0000000110011001 AAD ib
|
|
?10011001??10 0000000111100110 CWD / CDQ
|
|
010011000??10 0000000111101000 CBW / CWDE
|
|
110011000??10 0000000111110000 CBW / CWDE
|
|
?1010010?1?10 0000000111111000 REP MOVS
|
|
?1010010?0?10 0000001000010001 MOVS
|
|
?1010011?1?10 0000001000011000 REP CMPS
|
|
?1010011?0?10 0000001000101011 CMPS
|
|
?1010111?1?10 0000001000110101 REP SCAS
|
|
?1010111?0?10 0000001001000111 SCAS
|
|
?1010110?1?10 0000001001001110 REP LODS
|
|
?1010110?0?10 0000001001011010 LODS
|
|
?11010111??10 0000001001011111 XLATB
|
|
?1010101?1?10 0000001001100011 REP STOS
|
|
?1010101?0?10 0000001001101110 STOS
|
|
?1110010??110 0000001001110010 IN A,ib
|
|
?1110010??010 0000001001110100 IN A,ib
|
|
?1110110??110 0000001001111001 IN A,DX
|
|
?1110110??010 0000001001111010 IN A,DX
|
|
?0110110?0110 0000001001111111 INS
|
|
?0110110?0010 0000001010000001 INS
|
|
?0110110?1110 0000001010001010 REP INS
|
|
?0110110?1010 0000001010001011 REP INS
|
|
?1110011??110 0000001010011011 OUT ib,A
|
|
?1110011??010 0000001010011101 OUT ib,A
|
|
?1110111??110 0000001010100001 OUT DX,A
|
|
?1110111??010 0000001010100010 OUT DX,A
|
|
?0110111?0110 0000001010100111 OUTS
|
|
?0110111?0010 0000001010101001 OUTS
|
|
?0110111?1110 0000001010110001 REP OUTS
|
|
?0110111?1010 0000001010110010 REP OUTS
|
|
?10011010??10 0010001011010110 CALL cp
|
|
?11101010??10 0000001011100101 JMP cp
|
|
?1100101???10 0011001011111100 RETF/RETF iw
|
|
011001000??10 0010001100000100 ENTER
|
|
111001000??10 0010001100001000 ENTER
|
|
011001001??10 0000001100011111 LEAVE
|
|
111001001??10 0000001100100011 LEAVE
|
|
?11110100??10 0000001100100111 HLT
|
|
?10011011??10 0000001110111101 WAIT
|
|
?11001111?110 0011011001110011 IRETd
|
|
?11110101??10 0000011111101111 CMC
|
|
?11111?0???10 0000011111101111 CLC/STC/CLD/STD
|
|
?10011100?110 0010011111110010 PUSHFd
|
|
?1111101???10 0000011111110111 CLI/STI
|
|
?10011100?010 0010011111111001 PUSHFd
|
|
?10011101?010 0011011111111011 POPFd
|
|
?11001101?010 0000011111111101 INT ib
|
|
?11001111?010 0011011111111111 IRETd
|
|
?10011101?110 0011100000000011 POPFd
|
|
?11001101?110 0000100000001000 INT ib
|
|
?11001100??10 0000100000010110 INT 3
|
|
?11001110??10 0000100000100111 INTO
|
|
?0000010???11 0000100000101011 illegal? LOADALL286
|
|
?00001000??11 0000100000101011 illegal?
|
|
?000011????11 0000100000101011 illegal?
|
|
?00101?00??11 0000100000101011 illegal?
|
|
?0010?1?1??11 0000100000101011 illegal?
|
|
?001100000?11 0000100000101011 illegal?
|
|
?00110001??11 0000100000101011 illegal?
|
|
?0011001???11 0000100000101011 illegal?
|
|
?00?01001??11 0000100000101011 illegal?
|
|
?00?0101???11 0000100000101011 illegal?
|
|
?00?101????11 0000100000101011 illegal?
|
|
?00?11?????11 0000100000101011 illegal?
|
|
?010??0000011 0000100000101011 illegal?
|
|
?010??0010?11 0000100000101011 illegal?
|
|
?010???000111 0000100000101011 illegal?
|
|
?010??01?0?11 0000100000101011 illegal?
|
|
?010??1100111 0000100000101011 illegal?
|
|
?010??1?00011 0000100000101011 illegal?
|
|
?010??1?10?11 0000100000101011 illegal?
|
|
?010???011?11 0000100000101011 illegal?
|
|
?010???111?11 0000100000101011 illegal?
|
|
?010????01?11 0000100000101011 illegal?
|
|
?011??0001?11 0000100000101011 illegal?
|
|
?011??01???11 0000100000101011 illegal?
|
|
?011??1111?11 0000100000101011 illegal?
|
|
?011??11?0?11 0000100000101011 illegal?
|
|
?011??1?01?11 0000100000101011 illegal?
|
|
?011???000?11 0000100000101011 illegal?
|
|
?011???01??11 0000100000101011 illegal?
|
|
?1010?010??11 0000100000101011 illegal?
|
|
?101100000?11 0000100000101011 illegal?
|
|
?10111000??11 0000100000101011 illegal?
|
|
?1011?001??11 0000100000101011 illegal?
|
|
?11000001??11 0000100000101011 illegal?
|
|
?11001001??11 0000100000101011 illegal?
|
|
?1100?101??11 0000100000101011 illegal?
|
|
?1101??01??11 0000100000101011 illegal?
|
|
?111??001??11 0000100000101011 illegal?
|
|
?111??101??11 0000100000101011 illegal?
|
|
?11???0001?11 0000100000101011 illegal?
|
|
?11???01???11 0000100000101011 illegal?
|
|
?11???1111?11 0000100000101011 illegal?
|
|
?11???11?0?11 0000100000101011 illegal?
|
|
?11???1?01?11 0000100000101011 illegal?
|
|
?11????000?11 0000100000101011 illegal?
|
|
??0101110??11 0000100000101011 illegal?
|
|
??01100001?11 0000100000101011 illegal?
|
|
?00000111??11 0000100011110110 LOADALL386
|
|
?11110001??10 0000100100111100 ICEBP
|
|
|
|
Bits 1-8 opcode
|
|
Bit 12 = 0F prefix present
|
|
Bit 11 = this is an instruction?
|
|
Bit 10 = protected mode?
|
|
Bit 9 = repeat flag present
|
|
Bit 0 = 32 bit mode?
|
|
|
|
|