/* '!'= don't switch modes '&'= default '-'= NoRex '='= Rex 0x48 only if 64-bit code segment '~'= Rex 0x40 '`'= Rex only R8-R15 '^'= Rex xor-like ':'= floating sti-like for disassembly '$$'= ending zero (ENTER) $FG,4$Note:$FG$ TempleOS uses nonstandard opcodes. Asm is kind-of a bonus and I made changes to make the assembler simpler. For opcodes which can have different numbers of args, I separated them out -- Like IMUL and IMUL2. The assembler will not report certain invalid forms. Get an Intel datasheet and learn which forms are valid. */ R8 AL 0; R8 CL 1; R8 DL 2; R8 BL 3; R8 AH 4; R8 CH 5; R8 DH 6; R8 BH 7; R8 R8u8 8; R8 R9u8 9; R8 R10u8 10; R8 R11u8 11; R8 R12u8 12; R8 R13u8 13; R8 R14u8 14; R8 R15u8 15; R8 RSPu8 20; R8 RBPu8 21; R8 RSIu8 22; R8 RDIu8 23; R16 AX 0; R16 CX 1; R16 DX 2; R16 BX 3; R16 SP 4; R16 BP 5; R16 SI 6; R16 DI 7; R16 R8u16 8; R16 R9u16 9; R16 R10u16 10; R16 R11u16 11; R16 R12u16 12; R16 R13u16 13; R16 R14u16 14; R16 R15u16 15; R32 EAX 0; R32 ECX 1; R32 EDX 2; R32 EBX 3; R32 ESP 4; R32 EBP 5; R32 ESI 6; R32 EDI 7; R32 R8u32 8; R32 R9u32 9; R32 R10u32 10; R32 R11u32 11; R32 R12u32 12; R32 R13u32 13; R32 R14u32 14; R32 R15u32 15; R64 RAX 0; R64 RCX 1; R64 RDX 2; R64 RBX 3; R64 RSP 4; R64 RBP 5; R64 RSI 6; R64 RDI 7; R64 R8 8; R64 R9 9; R64 R10 10; R64 R11 11; R64 R12 12; R64 R13 13; R64 R14 14; R64 R15 15; R64 R8u64 8; R64 R9u64 9; R64 R10u64 10; R64 R11u64 11; R64 R12u64 12; R64 R13u64 13; R64 R14u64 14; R64 R15u64 15; SEG ES 0; SEG CS 1; SEG SS 2; SEG DS 3; SEG FS 4; SEG GS 5; FSTK ST0 0; FSTK ST1 1; FSTK ST2 2; FSTK ST3 3; FSTK ST4 4; FSTK ST5 5; FSTK ST6 6; FSTK ST7 7; MM MM0 0; MM MM1 1; MM MM2 2; MM MM3 3; MM MM4 4; MM MM5 5; MM MM6 6; MM MM7 7; XMM XMM0 0; XMM XMM1 1; XMM XMM2 2; XMM XMM3 3; XMM XMM4 4; XMM XMM5 5; XMM XMM6 6; XMM XMM7 7; KEYWORD include 0; KEYWORD define 1; KEYWORD union 2; KEYWORD catch 3; KEYWORD class 4; KEYWORD try 5; KEYWORD if 6; KEYWORD else 7; KEYWORD for 8; KEYWORD while 9; KEYWORD extern 10; KEYWORD _extern 11; KEYWORD return 12; KEYWORD sizeof 13; KEYWORD _intern 14; KEYWORD do 15; KEYWORD asm 16; KEYWORD goto 17; KEYWORD exe 18; KEYWORD break 19; KEYWORD switch 20; KEYWORD nobound_switch 21; KEYWORD sub_switch_start 22; KEYWORD sub_switch_end 23; KEYWORD case 24; KEYWORD default 25; KEYWORD public 26; KEYWORD offset 27; KEYWORD import 28; KEYWORD _import 29; KEYWORD ifdef 30; KEYWORD ifndef 31; KEYWORD ifaot 32; KEYWORD ifjit 33; KEYWORD endif 34; KEYWORD assert 35; KEYWORD reg 36; KEYWORD noreg 37; KEYWORD lastclass 38; KEYWORD nounusedwarn 39; KEYWORD help_index 40; KEYWORD help_file 41; KEYWORD static 42; KEYWORD lock 43; KEYWORD defined 44; KEYWORD interrupt 45; KEYWORD haserrcode 46; KEYWORD argpop 47; KEYWORD noargpop 48; ASM_KEYWORD ALIGN 64; ASM_KEYWORD MODULE_ORG 65; ASM_KEYWORD I0 66; ASM_KEYWORD I8 67; ASM_KEYWORD I16 68; ASM_KEYWORD I32 69; ASM_KEYWORD I64 70; ASM_KEYWORD U0 71; ASM_KEYWORD U8 72; ASM_KEYWORD U16 73; ASM_KEYWORD U32 74; ASM_KEYWORD U64 75; ASM_KEYWORD F64 76; ASM_KEYWORD DU8 77; ASM_KEYWORD DU16 78; ASM_KEYWORD DU32 79; ASM_KEYWORD DU64 80; ASM_KEYWORD DUP 81; ASM_KEYWORD USE16 82; ASM_KEYWORD USE32 83; ASM_KEYWORD USE64 84; ASM_KEYWORD IMPORT 85; ASM_KEYWORD LIST 86; ASM_KEYWORD NOLIST 87; ASM_KEYWORD BINFILE 88; OPCODE PUSH 0x0E, CS 0x16, SS 0x1E, DS 0x06, ES 0x0F 0xA0, FS 0x0F 0xA8, GS 0x6A, &IB IMM8 0x68, 16 !IW IMM16 0x68, 32 !ID IMM32 0x50,+R 16 R16 0x50,+R 32 R32 0x50,+R 32 ` R64 0xFF,/6 16 RM16 0xFF,/6 32 RM32 0xFF,/6 32 RM64; OPCODE PUSHAW 0x60, 16; OPCODE PUSHAD 0x60, 32; OPCODE PUSHFW 0x9C, 16; OPCODE PUSHFD 0x9C, 32; OPCODE POP 0x1F, DS 0x07, ES 0x17, SS 0x0F 0xA1, FS 0x0F 0xA9, GS 0x58,+R 16 R16 0x58,+R 32 R32 0x58,+R 32 ` R64 0x8F,/0 16 RM16 0x8F,/0 32 RM32 0x8F,/0 32 RM64; OPCODE POPAW 0x61, 16; OPCODE POPAD 0x61, 32; OPCODE POPFW 0x9D, 16; OPCODE POPFD 0x9D, 32; OPCODE MOV // 0xA0, AL MOFFS8 0xA1, 16 AX MOFFS16 0xA1, 32 EAX MOFFS32 // 0xA2, MOFFS8 AL 0xA3, 16 MOFFS16 AX 0xA3, 32 MOFFS32 EAX 0x8A,/R R8 RM8 0x8B,/R 16 R16 RM16 0x8B,/R 32 R32 RM32 0x8B,/R 32 R64 RM64 0x88,/R RM8 R8 0x89,/R 16 RM16 R16 0x89,/R 32 RM32 R32 0x89,/R 32 RM64 R64 0x8C,/R 32 RM16 SREG 0x8E,/R 32 SREG RM16 0xB0,+R &R8 UIMM8 0xB0,+R R8 IMM8 0xB8,+R 16 &R16 UIMM16 0xB8,+R 16 R16 IMM16 0xB8,+R 32 &R32 UIMM32 0xB8,+R 32 R32 IMM32 0xB8,+R 32 ` R64 UIMM32 0xB8,+R 32 &R64 UIMM64 0xB8,+R 32 R64 IMM64 0xC6, &RM8 UIMM8 0xC6, RM8 IMM8 0xC7, 16 &RM16 UIMM16 0xC7, 16 RM16 IMM16 0xC7, 32 &RM32 UIMM32 0xC7, 32 RM32 IMM32 0xC7, 32 ` RM64 UIMM32 0xC7, 32 RM64 IMM32; OPCODE ADC 0x14, IB &AL UIMM8 0x14, IB AL IMM8 0x15, 16 IW &AX UIMM16 0x15, 16 IW AX IMM16 0x15, 32 ID &EAX UIMM32 0x15, 32 ID EAX IMM32 0x80,/2 IB RM8 IMM8 0x83,/2 16 IB RM16 IMM8 0x83,/2 32 IB RM32 IMM8 0x83,/2 32 IB RM64 IMM8 0x81,/2 16 IW RM16 IMM16 0x81,/2 32 ID RM32 IMM32 0x81,/2 32 ID RM64 IMM32 0x12,/R R8 RM8 0x13,/R 16 R16 RM16 0x13,/R 32 R32 RM32 0x13,/R 32 R64 RM64 0x10,/R RM8 R8 0x11,/R 16 RM16 R16 0x11,/R 32 RM32 R32 0x11,/R 32 RM64 R64; OPCODE ADD 0x04, IB &AL UIMM8 0x04, IB AL IMM8 0x05, 16 IW &AX UIMM16 0x05, 16 IW AX IMM16 0x05, 32 ID &EAX UIMM32 0x05, 32 ID EAX IMM32 0x80,/0 IB &RM8 UIMM8 0x80,/0 IB RM8 IMM8 0x83,/0 16 IB RM16 IMM8 0x83,/0 32 IB RM32 IMM8 0x83,/0 32 IB RM64 IMM8 0x81,/0 16 IW RM16 IMM16 0x81,/0 32 ID RM32 IMM32 0x81,/0 32 ID RM64 IMM32 0x02,/R R8 RM8 0x03,/R 16 R16 RM16 0x03,/R 32 R32 RM32 0x03,/R 32 R64 RM64 0x00,/R RM8 R8 0x01,/R 16 RM16 R16 0x01,/R 32 RM32 R32 0x01,/R 32 RM64 R64; OPCODE AND 0x24, IB &AL UIMM8 0x24, IB AL IMM8 0x25, 16 IW &AX UIMM16 0x25, 16 IW AX IMM16 0x25, 32 ID &EAX UIMM32 0x25, 32 ID EAX IMM32 0x80,/4 IB &RM8 UIMM8 0x80,/4 IB RM8 IMM8 0x83,/4 16 IB RM16 IMM8 0x83,/4 32 IB RM32 IMM8 0x83,/4 32 IB RM64 IMM8 0x81,/4 16 IW RM16 IMM16 0x81,/4 32 ID RM32 IMM32 0x81,/4 32 ID RM64 IMM32 0x22,/R R8 RM8 0x23,/R 16 R16 RM16 0x23,/R 32 R32 RM32 0x23,/R 32 R64 RM64 0x20,/R RM8 R8 0x21,/R 16 RM16 R16 0x21,/R 32 RM32 R32 0x21,/R 32 RM64 R64; OPCODE CMP 0x3C, IB &AL UIMM8 0x3C, IB AL IMM8 0x3D, 16 IW &AX UIMM16 0x3D, 16 IW AX IMM16 0x3D, 32 ID &EAX UIMM32 0x3D, 32 ID EAX IMM32 0x80,/7 IB &RM8 UIMM8 0x80,/7 IB RM8 IMM8 0x83,/7 16 IB RM16 IMM8 0x83,/7 32 IB RM32 IMM8 0x83,/7 32 IB RM64 IMM8 0x81,/7 16 IW RM16 IMM16 0x81,/7 32 ID RM32 IMM32 0x81,/7 32 ID RM64 IMM32 0x3A,/R R8 RM8 0x3B,/R 16 R16 RM16 //ERROR? 0x3B,/R 32 R32 RM32 0x3B,/R 32 R64 RM64 0x38,/R RM8 R8 0x39,/R 16 RM16 R16 0x39,/R 32 RM32 R32 0x39,/R 32 RM64 R64; OPCODE OR 0x0C, IB &AL UIMM8 0x0C, IB AL IMM8 0x0D, 16 IW &AX UIMM16 0x0D, 16 IW AX IMM16 0x0D, 32 ID &EAX UIMM32 0x0D, 32 ID EAX IMM32 0x80,/1 IB &RM8 UIMM8 0x80,/1 IB RM8 IMM8 0x83,/1 16 IB RM16 IMM8 0x83,/1 32 IB RM32 IMM8 0x83,/1 32 IB RM64 IMM8 0x81,/1 16 IW RM16 IMM16 0x81,/1 32 ID RM32 IMM32 0x81,/1 32 ID RM64 IMM32 0x0A,/R R8 RM8 0x0B,/R 16 R16 RM16 0x0B,/R 32 R32 RM32 0x0B,/R 32 R64 RM64 0x08,/R RM8 R8 0x09,/R 16 RM16 R16 0x09,/R 32 RM32 R32 0x09,/R 32 RM64 R64; OPCODE SBB 0x1C, IB &AL UIMM8 0x1C, IB AL IMM8 0x1D, 16 IW &AX UIMM16 0x1D, 16 IW AX IMM16 0x1D, 32 ID &EAX UIMM32 0x1D, 32 ID EAX IMM32 0x80,/3 IB &RM8 UIMM8 0x80,/3 IB RM8 IMM8 0x83,/3 16 IB RM16 IMM8 0x83,/3 32 IB RM32 IMM8 0x83,/3 32 IB RM64 IMM8 0x81,/3 16 IW RM16 IMM16 0x81,/3 32 ID RM32 IMM32 0x81,/3 32 ID RM64 IMM32 0x1A,/R R8 RM8 0x1B,/R 16 R16 RM16 0x1B,/R 32 R32 RM32 0x1B,/R 32 R64 RM64 0x18,/R RM8 R8 0x19,/R 16 RM16 R16 0x19,/R 32 RM32 R32 0x19,/R 32 RM64 R64; OPCODE SUB 0x2C, IB &AL UIMM8 0x2C, IB AL IMM8 0x2D, 16 IW &AX UIMM16 0x2D, 16 IW AX IMM16 0x2D, 32 ID &EAX UIMM32 0x2D, 32 ID EAX IMM32 0x80,/5 IB &RM8 UIMM8 0x80,/5 IB RM8 IMM8 0x83,/5 16 IB RM16 IMM8 0x83,/5 32 IB RM32 IMM8 0x83,/5 32 IB RM64 IMM8 0x81,/5 16 IW RM16 IMM16 0x81,/5 32 ID RM32 IMM32 0x81,/5 32 ID RM64 IMM32 0x2A,/R R8 RM8 0x2B,/R 16 R16 RM16 0x2B,/R 32 R32 RM32 0x2B,/R 32 R64 RM64 0x28,/R RM8 R8 0x29,/R 16 RM16 R16 0x29,/R 32 RM32 R32 0x29,/R 32 RM64 R64; OPCODE TEST 0xA8, IB &AL UIMM8 0xA8, IB AL IMM8 0xA9, 16 IW &AX UIMM16 0xA9, 16 IW AX IMM16 0xA9, 32 ID &EAX UIMM32 0xA9, 32 ID EAX IMM32 0xF6,/0 IB &RM8 UIMM8 0xF6,/0 IB RM8 IMM8 0xF7,/0 16 IW RM16 IMM16 0xF7,/0 32 ID RM32 IMM32 0xF7,/0 32 ID RM64 IMM32 0x84,/R RM8 R8 0x85,/R 16 RM16 R16 0x85,/R 32 RM32 R32 0x85,/R 32 RM64 R64; OPCODE NOP 0x90; OPCODE NOP2 0x66 0x90; OPCODE XCHG 0x90,+R 16 R16 AX 0x90,+R 16 AX R16 0x90,+R 32 R32 EAX 0x90,+R 32 EAX R32 0x90,+R 32 R64 RAX 0x90,+R 32 RAX R64 0x86,/R R8 RM8 0x87,/R 16 R16 RM16 0x87,/R 32 R32 RM32 0x87,/R 32 R64 RM64 0x86,/R RM8 R8 0x87,/R 16 RM16 R16 0x87,/R 32 RM32 R32 0x87,/R 32 RM64 R64; OPCODE XOR 0x34, IB &AL UIMM8 0x34, IB AL IMM8 0x35, 16 IW &AX UIMM16 0x35, 16 IW AX IMM16 0x35, 32 ID &EAX UIMM32 0x35, 32 ID EAX IMM32 0x80,/6 IB &RM8 UIMM8 0x80,/6 IB RM8 IMM8 0x83,/6 16 IB RM16 IMM8 0x83,/6 32 IB RM32 IMM8 0x83,/6 32 IB RM64 IMM8 0x81,/6 16 IW RM16 IMM16 0x81,/6 32 ID RM32 IMM32 0x81,/6 32 ID RM64 IMM32 0x32,/R R8 RM8 0x33,/R 16 R16 RM16 0x33,/R 32 R32 RM32 0x33,/R 32 ^ R64 RM64 0x30,/R RM8 R8 0x31,/R 16 RM16 R16 0x31,/R 32 RM32 R32 0x31,/R 32 ^ RM64 R64; OPCODE CMOVA 0x0F 0x47,/R 16 R16 RM16 0x0F 0x47,/R 32 R32 RM32 0x0F 0x47,/R 32 R64 RM64; OPCODE CMOVAE 0x0F 0x43,/R 16 R16 RM16 0x0F 0x43,/R 32 R32 RM32 0x0F 0x43,/R 32 R64 RM64; OPCODE CMOVB 0x0F 0x42,/R 16 R16 RM16 0x0F 0x42,/R 32 R32 RM32 0x0F 0x42,/R 32 R64 RM64; OPCODE CMOVBE 0x0F 0x46,/R 16 R16 RM16 0x0F 0x46,/R 32 R32 RM32 0x0F 0x46,/R 32 R64 RM64; OPCODE CMOVC 0x0F 0x42,/R 16 R16 RM16 0x0F 0x42,/R 32 R32 RM32 0x0F 0x42,/R 32 R64 RM64; OPCODE CMOVE 0x0F 0x44,/R 16 R16 RM16 0x0F 0x44,/R 32 R32 RM32 0x0F 0x44,/R 32 R64 RM64; OPCODE CMOVG 0x0F 0x4F,/R 16 R16 RM16 0x0F 0x4F,/R 32 R32 RM32 0x0F 0x4F,/R 32 R64 RM64; OPCODE CMOVGE 0x0F 0x4D,/R 16 R16 RM16 0x0F 0x4D,/R 32 R32 RM32 0x0F 0x4D,/R 32 R64 RM64; OPCODE CMOVL 0x0F 0x4C,/R 16 R16 RM16 0x0F 0x4C,/R 32 R32 RM32 0x0F 0x4C,/R 32 R64 RM64; OPCODE CMOVLE 0x0F 0x4E,/R 16 R16 RM16 0x0F 0x4E,/R 32 R32 RM32 0x0F 0x4E,/R 32 R64 RM64; OPCODE CMOVNA 0x0F 0x46,/R 16 R16 RM16 0x0F 0x46,/R 32 R32 RM32 0x0F 0x46,/R 32 R64 RM64; OPCODE CMOVNAE 0x0F 0x42,/R 16 R16 RM16 0x0F 0x42,/R 32 R32 RM32 0x0F 0x42,/R 32 R64 RM64; OPCODE CMOVNB 0x0F 0x43,/R 16 R16 RM16 0x0F 0x43,/R 32 R32 RM32 0x0F 0x43,/R 32 R64 RM64; OPCODE CMOVNBE 0x0F 0x47,/R 16 R16 RM16 0x0F 0x47,/R 32 R32 RM32 0x0F 0x47,/R 32 R64 RM64; OPCODE CMOVNC 0x0F 0x43,/R 16 R16 RM16 0x0F 0x43,/R 32 R32 RM32 0x0F 0x43,/R 32 R64 RM64; OPCODE CMOVNE 0x0F 0x45,/R 16 R16 RM16 0x0F 0x45,/R 32 R32 RM32 0x0F 0x45,/R 32 R64 RM64; OPCODE CMOVNG 0x0F 0x4E,/R 16 R16 RM16 0x0F 0x4E,/R 32 R32 RM32 0x0F 0x4E,/R 32 R64 RM64; OPCODE CMOVNGE 0x0F 0x4C,/R 16 R16 RM16 0x0F 0x4C,/R 32 R32 RM32 0x0F 0x4C,/R 32 R64 RM64; OPCODE CMOVNL 0x0F 0x4D,/R 16 R16 RM16 0x0F 0x4D,/R 32 R32 RM32 0x0F 0x4D,/R 32 R64 RM64; OPCODE CMOVNLE 0x0F 0x4F,/R 16 R16 RM16 0x0F 0x4F,/R 32 R32 RM32 0x0F 0x4F,/R 32 R64 RM64; OPCODE CMOVNO 0x0F 0x41,/R 16 R16 RM16 0x0F 0x41,/R 32 R32 RM32 0x0F 0x41,/R 32 R64 RM64; OPCODE CMOVNP 0x0F 0x4B,/R 16 R16 RM16 0x0F 0x4B,/R 32 R32 RM32 0x0F 0x4B,/R 32 R64 RM64; OPCODE CMOVNS 0x0F 0x49,/R 16 R16 RM16 0x0F 0x49,/R 32 R32 RM32 0x0F 0x49,/R 32 R64 RM64; OPCODE CMOVNZ 0x0F 0x45,/R 16 R16 RM16 0x0F 0x45,/R 32 R32 RM32 0x0F 0x45,/R 32 R64 RM64; OPCODE CMOVO 0x0F 0x40,/R 16 R16 RM16 0x0F 0x40,/R 32 R32 RM32 0x0F 0x40,/R 32 R64 RM64; OPCODE CMOVP 0x0F 0x4A,/R 16 R16 RM16 0x0F 0x4A,/R 32 R32 RM32 0x0F 0x4A,/R 32 R64 RM64; OPCODE CMOVPE 0x0F 0x4A,/R 16 R16 RM16 0x0F 0x4A,/R 32 R32 RM32 0x0F 0x4A,/R 32 R64 RM64; OPCODE CMOVPO 0x0F 0x4B,/R 16 R16 RM16 0x0F 0x4B,/R 32 R32 RM32 0x0F 0x4B,/R 32 R64 RM64; OPCODE CMOVS 0x0F 0x48,/R 16 R16 RM16 0x0F 0x48,/R 32 R32 RM32 0x0F 0x48,/R 32 R64 RM64; OPCODE CMOVZ 0x0F 0x44,/R 16 R16 RM16 0x0F 0x44,/R 32 R32 RM32 0x0F 0x44,/R 32 R64 RM64; OPCODE CALL 0xE8, 16 !&CW REL16 0xFF,/2 16 ! RM16 0xE8, 32 !&CD REL32 0xFF,/2 32 ! RM32 0xFF,/2 32 !` RM64 // 0x9A, CD PTR1616 // 0xFF,/3 16 M1616 // 0x9A, 16 CP PTR1632 // 0x9A, 32 CP PTR3232 // 0xFF,/3 32 M1632 ; OPCODE JMP 0xEB, &CB REL8 0xE9, 16 !CW REL16 0xE9, 32 !CD REL32 0xFF,/4 16 ! RM16 0xFF,/4 32 ! RM32 0xFF,/4 32 ! RM64; OPCODE JA 0x77, &CB REL8 0x0F 0x87, 16 !CW REL16 0x0F 0x87, 32 !CD REL32; OPCODE JAE 0x73, &CB REL8 0x0F 0x83, 16 !CW REL16 0x0F 0x83, 32 !CD REL32; OPCODE JB 0x72, &CB REL8 0x0F 0x82, 16 !CW REL16 0x0F 0x82, 32 !CD REL32; OPCODE JBE 0x76, &CB REL8 0x0F 0x86, 16 !CW REL16 0x0F 0x86, 32 !CD REL32; OPCODE JC 0x72, &CB REL8 0x0F 0x82, 16 !CW REL16 0x0F 0x82, 32 !CD REL32; OPCODE JCXZ 0xE3, CB REL8; OPCODE JECXZ 0xE3, CB REL8; OPCODE JRCXZ 0xE3, CB REL8; OPCODE JE 0x74, &CB REL8 0x0F 0x84, 16 !CW REL16 0x0F 0x84, 32 !CD REL32; OPCODE JG 0x7F, &CB REL8 0x0F 0x8F, 16 !CW REL16 0x0F 0x8F, 32 !CD REL32; OPCODE JGE 0x7D, &CB REL8 0x0F 0x8D, 16 !CW REL16 0x0F 0x8D, 32 !CD REL32; OPCODE JL 0x7C, &CB REL8 0x0F 0x8C, 16 !CW REL16 0x0F 0x8C, 32 !CD REL32; OPCODE JLE 0x7E, &CB REL8 0x0F 0x8E, 16 !CW REL16 0x0F 0x8E, 32 !CD REL32; OPCODE JNA 0x76, &CB REL8 0x0F 0x86, 16 !CW REL16 0x0F 0x86, 32 !CD REL32; OPCODE JNAE 0x72, &CB REL8 0x0F 0x82, 16 !CW REL16 0x0F 0x82, 32 !CD REL32; OPCODE JNB 0x73, &CB REL8 0x0F 0x83, 16 !CW REL16 0x0F 0x83, 32 !CD REL32; OPCODE JNBE 0x77, &CB REL8 0x0F 0x87, 16 !CW REL16 0x0F 0x87, 32 !CD REL32; OPCODE JNC 0x73, &CB REL8 0x0F 0x83, 16 !CW REL16 0x0F 0x83, 32 !CD REL32; OPCODE JNE 0x75, &CB REL8 0x0F 0x85, 16 !CW REL16 0x0F 0x85, 32 !CD REL32; OPCODE JNG 0x7E, &CB REL8 0x0F 0x8E, 16 !CW REL16 0x0F 0x8E, 32 !CD REL32; OPCODE JNGE 0x7C, &CB REL8 0x0F 0x8C, 16 !CW REL16 0x0F 0x8C, 32 !CD REL32; OPCODE JNL 0x7D, &CB REL8 0x0F 0x8D, 16 !CW REL16 0x0F 0x8D, 32 !CD REL32; OPCODE JNLE 0x7F, &CB REL8 0x0F 0x8F, 16 !CW REL16 0x0F 0x8F, 32 !CD REL32; OPCODE JNO 0x71, &CB REL8 0x0F 0x81, 16 !CW REL16 0x0F 0x81, 32 !CD REL32; OPCODE JNP 0x7B, &CB REL8 0x0F 0x8B, 16 !CW REL16 0x0F 0x8B, 32 !CD REL32; OPCODE JNS 0x79, &CB REL8 0x0F 0x89, 16 !CW REL16 0x0F 0x89, 32 !CD REL32; OPCODE JNZ 0x75, &CB REL8 0x0F 0x85, 16 !CW REL16 0x0F 0x85, 32 !CD REL32; OPCODE JO 0x70, &CB REL8 0x0F 0x80, 16 !CW REL16 0x0F 0x80, 32 !CD REL32; OPCODE JP 0x7A, &CB REL8 0x0F 0x8A, 16 !CW REL16 0x0F 0x8A, 32 !CD REL32; OPCODE JPE 0x7A, &CB REL8 0x0F 0x8A, 16 !CW REL16 0x0F 0x8A, 32 !CD REL32; OPCODE JPO 0x7B, &CB REL8 0x0F 0x8B, 16 !CW REL16 0x0F 0x8B, 32 !CD REL32; OPCODE JS 0x78, &CB REL8 0x0F 0x88, 16 !CW REL16 0x0F 0x88, 32 !CD REL32; OPCODE JZ 0x74, &CB REL8 0x0F 0x84, 16 !CW REL16 0x0F 0x84, 32 !CD REL32; OPCODE INC // 0x40,+R 16 R16 // 0x40,+R 32 R32 0xFE,/0 RM8 0xFF,/0 16 RM16 0xFF,/0 32 RM32 0xFF,/0 32 RM64; OPCODE DEC // 0x48,+R 16 R16 // 0x48,+R 32 R32 0xFE,/1 RM8 0xFF,/1 16 RM16 0xFF,/1 32 RM32 0xFF,/1 32 RM64; OPCODE NOT 0xF6,/2 RM8 0xF7,/2 16 RM16 0xF7,/2 32 RM32 0xF7,/2 32 RM64; OPCODE NEG 0xF6,/3 RM8 0xF7,/3 16 RM16 0xF7,/3 32 RM32 0xF7,/3 32 RM64; OPCODE MUL 0xF6,/4 RM8 0xF7,/4 16 RM16 0xF7,/4 32 RM32 0xF7,/4 32 RM64; OPCODE IMUL 0xF6,/5 RM8 0xF7,/5 16 RM16 0xF7,/5 32 RM32 0xF7,/5 32 RM64; OPCODE IMUL2 0x0F 0xAF,/R 16 R16 RM16 0x0F 0xAF,/R 32 R32 RM32 0x0F 0xAF,/R 32 R64 RM64 0x6B,/R 16 IB RM16 IMM8 0x6B,/R 32 IB RM32 IMM8 0x6B,/R 32 IB RM64 IMM8 0x69,/R 16 IW &RM16 UIMM16 0x69,/R 16 IW RM16 IMM16 0x69,/R 32 ID &RM32 UIMM32 0x69,/R 32 ID RM32 IMM32 0x69,/R 32 ID &RM64 UIMM32 0x69,/R 32 ID RM64 IMM32; OPCODE DIV 0xF6,/6 RM8 0xF7,/6 16 RM16 0xF7,/6 32 RM32 0xF7,/6 32 RM64; OPCODE IDIV 0xF6,/7 RM8 0xF7,/7 16 RM16 0xF7,/7 32 RM32 0xF7,/7 32 RM64; OPCODE AAA 0x37; OPCODE AAD 0xD5 0x0A; OPCODE AAM 0xD4 0x0A; OPCODE AAS 0x3F; OPCODE ARPL 0x63,/R RM16 R16; OPCODE BOUND 0x62,/R 16 RM16 R16 0x62,/R 32 RM32 R32 0x62,/R 32 RM64 R64; OPCODE BSF 0x0F 0xBC,/R 16 R16 RM16 0x0F 0xBC,/R 32 R32 RM32 0x0F 0xBC,/R 32 R64 RM64; OPCODE BSR 0x0F 0xBD,/R 16 R16 RM16 0x0F 0xBD,/R 32 R32 RM32 0x0F 0xBD,/R 32 R64 RM64; OPCODE BSWAP 0x0F 0xC8,/R 32 R32 0x0F 0xC8,/R 32 R64; OPCODE BT 0x0F 0xA3,/R 16 RM16 R16 0x0F 0xA3,/R 32 RM32 R32 0x0F 0xA3,/R 32 RM64 R64 0x0F 0xBA,/4 16 IB &RM16 UIMM8 0x0F 0xBA,/4 16 IB RM16 IMM8 0x0F 0xBA,/4 32 IB &RM32 UIMM8 0x0F 0xBA,/4 32 IB RM32 IMM8 0x0F 0xBA,/4 32 IB &RM64 UIMM8 0x0F 0xBA,/4 32 IB RM64 IMM8; OPCODE BTC 0x0F 0xBB,/R 16 RM16 R16 0x0F 0xBB,/R 32 RM32 R32 0x0F 0xBB,/R 32 RM64 R64 0x0F 0xBA,/7 16 IB &RM16 UIMM8 0x0F 0xBA,/7 16 IB RM16 IMM8 0x0F 0xBA,/7 32 IB &RM32 UIMM8 0x0F 0xBA,/7 32 IB RM32 IMM8 0x0F 0xBA,/7 32 IB &RM64 UIMM8 0x0F 0xBA,/7 32 IB RM64 IMM8; OPCODE BTR 0x0F 0xB3,/R 16 RM16 R16 0x0F 0xB3,/R 32 RM32 R32 0x0F 0xB3,/R 32 RM64 R64 0x0F 0xBA,/6 16 IB &RM16 UIMM8 0x0F 0xBA,/6 16 IB RM16 IMM8 0x0F 0xBA,/6 32 IB &RM32 UIMM8 0x0F 0xBA,/6 32 IB RM32 IMM8 0x0F 0xBA,/6 32 IB &RM64 UIMM8 0x0F 0xBA,/6 32 IB RM64 IMM8; OPCODE BTS 0x0F 0xAB,/R 16 RM16 R16 0x0F 0xAB,/R 32 RM32 R32 0x0F 0xAB,/R 32 RM64 R64 0x0F 0xBA,/5 16 IB &RM16 UIMM8 0x0F 0xBA,/5 16 IB RM16 IMM8 0x0F 0xBA,/5 32 IB &RM32 UIMM8 0x0F 0xBA,/5 32 IB RM32 IMM8 0x0F 0xBA,/5 32 IB &RM64 UIMM8 0x0F 0xBA,/5 32 IB RM64 IMM8; OPCODE CBW 0x98, 16; OPCODE CWDE 0x98, 32; OPCODE CDQE 0x98, 32=; OPCODE CWD 0x99, 16; OPCODE CDQ 0x99, 32; OPCODE CQO 0x99, 32=; OPCODE CLC 0xF8; OPCODE CLD 0xFC; OPCODE CLI 0xFA; OPCODE CLTS 0x0F 0x06; OPCODE CMC 0xF5; OPCODE CMPSB 0xA6; OPCODE CMPSW 0xA7, 16; OPCODE CMPSD 0xA7, 32; OPCODE CMPSQ 0xA7, 32=; OPCODE CMPXCHG 0x0F 0xB0,/R RM8 R8 0x0F 0xB1,/R 16 RM16 R16 0x0F 0xB1,/R 32 RM32 R32 0x0F 0xB1,/R 32 RM64 R64; OPCODE CHPXCHG8B 0x0F 0xC7, RM64; OPCODE DAA 0x27; OPCODE DAS 0x2F; OPCODE ENTER 0xC8, $$IW IMM16; OPCODE HLT 0xF4; OPCODE IN 0xE4, IB &AL UIMM8 0xE4, IB AL IMM8 0xE5, 16 IB &AX UIMM8 0xE5, 16 IB AX IMM8 0xE5, 32 IB &EAX UIMM8 0xE5, 32 IB EAX IMM8 0xEC, AL DX 0xED, 16 AX DX 0xED, 32 EAX DX; OPCODE INS 0x6C, RM8 DX 0x6D, 16 RM16 DX 0x6D, 32 RM32 DX; OPCODE INSB 0x6C; OPCODE INSW 0x6D, 16; OPCODE INSD 0x6D, 32; OPCODE INTO 0xCE; OPCODE INT3 0xCC; OPCODE INT 0xCD, IB &UIMM8 0xCD, IB IMM8; OPCODE INVD 0x0F 0x08; OPCODE IRET 0xCF, 32=; OPCODE LAHF 0x9F; OPCODE LAR 0x0F 0x02,/R 16 R16 RM16 0x0F 0x02,/R 32 R32 RM32 0x0F 0x02,/R 32 R64 RM64; OPCODE LEA 0x8D,/R 16 R16 RM16 0x8D,/R 32 R32 RM32 0x8D,/R 32 R64 RM64; OPCODE LEAVE 0xC9; OPCODE LGDT 0x0F 0x01,/2 16 M16 0x0F 0x01,/2 32 M32 0x0F 0x01,/2 32 M64; OPCODE SGDT 0x0F 0x01,/0 16 M16 0x0F 0x01,/0 32 M32 0x0F 0x01,/0 32 M64; OPCODE LIDT 0x0F 0x01,/3 16 M16 0x0F 0x01,/3 32 M32 0x0F 0x01,/3 32 M64; OPCODE SIDT 0x0F 0x01,/1 16 M16 0x0F 0x01,/1 32 M32 0x0F 0x01,/1 32 M64; OPCODE LLDT 0x0F 0x00,/2 RM16; OPCODE SLDT 0x0F 0x00,/0 16 RM16 0x0F 0x00,/0 32 RM32 0x0F 0x00,/0 32 RM64; OPCODE LMSW 0x0F 0x01,/6 RM16; OPCODE SMSW 0x0F 0x01,/4 16 RM16 0x0F 0x01,/4 32 RM32 0x0F 0x01,/4 32 RM64; //OPCODE LGS LSS LFS LDS LES OPCODE LOCK 0xF0; OPCODE LODSB 0xAC; OPCODE LODSW 0xAD, 16; OPCODE LODSD 0xAD, 32; OPCODE LODSQ 0xAD, 32=; OPCODE LOOP 0xE2, CB REL8; OPCODE LOOPE 0xE1, CB REL8; OPCODE LOOPZ 0xE1, CB REL8; OPCODE LOOPNE 0xE0, CB REL8; OPCODE LOOPNZ 0xE0, CB REL8; OPCODE LSL 0x0F 0x03,/R 16 R16 RM16 0x0F 0x03,/R 32 R32 RM32 0x0F 0x03,/R 32 R64 RM64; OPCODE LTR 0x0F 0x00,/3 RM16; OPCODE MOVSB 0xA4; OPCODE MOVSW 0xA5, 16; OPCODE MOVSD 0xA5, 32; OPCODE MOVSQ 0xA5, 32=; OPCODE MOVSX 0x0F 0xBE,/R 16 R16 RM8 0x0F 0xBE,/R 32 R32 RM8 0x0F 0xBE,/R 32 R64 RM8 0x0F 0xBF,/R 32 R32 RM16 0x0F 0xBF,/R 32 R64 RM16; OPCODE MOVSXD 0x63,/R 32 R64 RM32; OPCODE MOVZX 0x0F 0xB6,/R 16 R16 RM8 0x0F 0xB6,/R 32 R32 RM8 0x0F 0xB6,/R 32 R64 RM8 0x0F 0xB7,/R 32 R32 RM16 0x0F 0xB7,/R 32 R64 RM16; OPCODE OUT 0xE6, IB &UIMM8 AL 0xE6, IB IMM8 AL 0xE7, 16 IB &UIMM8 AX 0xE7, 16 IB IMM8 AX 0xE7, 32 IB &UIMM8 EAX 0xE7, 32 IB IMM8 EAX 0xEE, DX AL 0xEF, 16 DX AX 0xEF, 32 DX EAX; OPCODE OUTSB 0x6E; OPCODE OUTSW 0x6F, 16; OPCODE OUTSD 0x6F, 32; OPCODE REP_INSB 0xF3 0x6C; OPCODE REP_INSW 0xF3 0x6D, 16; OPCODE REP_INSD 0xF3 0x6D, 32; OPCODE REP_MOVSB 0xF3 0xA4; OPCODE REP_MOVSW 0xF3 0xA5, 16; OPCODE REP_MOVSD 0xF3 0xA5, 32; OPCODE REP_MOVSQ 0xF3 0x48 0xA5, 32=; OPCODE REP_OUTSB 0xF3 0x6E; OPCODE REP_OUTSW 0xF3 0x6F, 16; OPCODE REP_OUTSD 0xF3 0x6F, 32; OPCODE REP_LODSB 0xF2 0xAC; OPCODE REP_LODSW 0xF2 0xAD, 16; OPCODE REP_LODSD 0xF2 0xAD, 32; OPCODE REP_LODSQ 0xF2 0x48 0xAD, 32=; OPCODE REP_STOSB 0xF3 0xAA; OPCODE REP_STOSW 0xF3 0xAB, 16; OPCODE REP_STOSD 0xF3 0xAB, 32; OPCODE REP_STOSQ 0xF3 0x48 0xAB, 32=; OPCODE REPE_CMPSB 0xF3 0xA6; OPCODE REPE_CMPSW 0xF3 0xA7, 16; OPCODE REPE_CMPSD 0xF3 0xA7, 32; OPCODE REPE_CMPSQ 0xF3 0x48 0xA7, 32=; OPCODE REPE_SCASB 0xF3 0xAE; OPCODE REPE_SCASW 0xF3 0xAF, 16; OPCODE REPE_SCASD 0xF3 0xAF, 32; OPCODE REPE_SCASQ 0xF3 0x48 0xAF, 32=; OPCODE REPNE_CMPSB 0xF2 0x48 0xA6; OPCODE REPNE_CMPSW 0xF2 0xA7, 16; OPCODE REPNE_CMPSD 0xF2 0xA7, 32; OPCODE REPNE_CMPSQ 0xF2 0x48 0xA7, 32=; OPCODE REPNE_SCASB 0xF2 0xAE; OPCODE REPNE_SCASW 0xF2 0xAF, 16; OPCODE REPNE_SCASD 0xF2 0xAF, 32; OPCODE REPNE_SCASQ 0xF2 0x48 0xAF, 32=; OPCODE RET 0xC3; OPCODE RET1 0xC2, IW IMM16; OPCODE RETF 0xCB; OPCODE RETF1 0xCA, IW IMM16; OPCODE REX 0x48; OPCODE REX2 0x40; OPCODE RSM 0x0F 0xAA; OPCODE SAHF 0x9E; OPCODE SCASB 0xAE; OPCODE SCASW 0xAF, 16; OPCODE SCASD 0xAF, 32; OPCODE SCASQ 0xAF, 32=; OPCODE SEGCS 0x2E; OPCODE SEGSS 0x36; OPCODE SEGDS 0x3E; OPCODE SEGES 0x26; OPCODE SEGFS 0x64; OPCODE SEGGS 0x65; OPCODE SETA 0x0F 0x97, RM8; OPCODE SETAE 0x0F 0x93, RM8; OPCODE SETB 0x0F 0x92, RM8; OPCODE SETBE 0x0F 0x96, RM8; OPCODE SETC 0x0F 0x92, RM8; OPCODE SETE 0x0F 0x94, RM8; OPCODE SETG 0x0F 0x9F, RM8; OPCODE SETGE 0x0F 0x9D, RM8; OPCODE SETL 0x0F 0x9C, RM8; OPCODE SETLE 0x0F 0x9E, RM8; OPCODE SETNA 0x0F 0x96, RM8; OPCODE SETNAE 0x0F 0x92, RM8; OPCODE SETNB 0x0F 0x93, RM8; OPCODE SETNBE 0x0F 0x97, RM8; OPCODE SETNC 0x0F 0x93, RM8; OPCODE SETNE 0x0F 0x95, RM8; OPCODE SETNG 0x0F 0x9E, RM8; OPCODE SETNGE 0x0F 0x9C, RM8; OPCODE SETNL 0x0F 0x9D, RM8; OPCODE SETNLE 0x0F 0x9F, RM8; OPCODE SETNO 0x0F 0x91, RM8; OPCODE SETNP 0x0F 0x9B, RM8; OPCODE SETNS 0x0F 0x99, RM8; OPCODE SETNZ 0x0F 0x95, RM8; OPCODE SETO 0x0F 0x90, RM8; OPCODE SETP 0x0F 0x9A, RM8; OPCODE SETPE 0x0F 0x9A, RM8; OPCODE SETPO 0x0F 0x9B, RM8; OPCODE SETS 0x0F 0x98, RM8; OPCODE SETZ 0x0F 0x94, RM8; OPCODE SHLD 0x0F 0xA5,/R 16 RM16 R16 0x0F 0xA5,/R 32 RM32 R32 0x0F 0xA5,/R 32 RM64 R64; OPCODE SHRD 0x0F 0xAD,/R 16 RM16 R16 0x0F 0xAD,/R 32 RM32 R32 0x0F 0xAD,/R 32 RM64 R64; OPCODE STC 0xF9; OPCODE STD 0xFD; OPCODE STI 0xFB; OPCODE STOSB 0xAA; OPCODE STOSW 0xAB, 16; OPCODE STOSD $MA+LA,"",LM="NO;"$0xAB, 32; OPCODE STOSQ 0xAB, 32=; OPCODE STR 0x0F 0x00,/1 16 RM16 0x0F 0x00,/1 32 RM32 0x0F 0x00,/1 32 RM64; OPCODE VERR 0x0F 0x00,/4 16 RM16 0x0F 0x00,/4 32 RM32 0x0F 0x00,/4 32 RM64; OPCODE VERW 0x0F 0x00,/5 16 RM16 0x0F 0x00,/5 32 RM32 0x0F 0x00,/5 32 RM64; OPCODE WAIT 0x9B; OPCODE FWAIT 0x9B; OPCODE XADD 0x0F 0xC0,/R RM8 R8 0x0F 0xC1,/R 16 RM16 R16 0x0F 0xC1,/R 32 RM32 R32 0x0F 0xC1,/R 32 RM64 R64; OPCODE XLATB 0xD7; OPCODE RCL 0xD2,/2 RM8 CL 0xD3,/2 16 RM16 CL 0xD3,/2 32 RM32 CL 0xD3,/2 32 RM64 CL 0xC0,/2 IB &RM8 UIMM8 0xC0,/2 IB RM8 IMM8 0xC1,/2 16 IB &RM16 UIMM8 0xC1,/2 16 IB RM16 IMM8 0xC1,/2 32 IB &RM32 UIMM8 0xC1,/2 32 IB RM32 IMM8 0xC1,/2 32 IB &RM64 UIMM8 0xC1,/2 32 IB RM64 IMM8; OPCODE RCL1 0xD0,/2 RM8 0xD1,/2 16 RM16 0xD1,/2 32 RM32 0xD1,/2 32 RM64; OPCODE RCR 0xD2,/3 RM8 CL 0xD3,/3 16 RM16 CL 0xD3,/3 32 RM32 CL 0xD3,/3 32 RM64 CL 0xC0,/3 IB &RM8 UIMM8 0xC0,/3 IB RM8 IMM8 0xC1,/3 16 IB &RM16 UIMM8 0xC1,/3 16 IB RM16 IMM8 0xC1,/3 32 IB &RM32 UIMM8 0xC1,/3 32 IB RM32 IMM8 0xC1,/3 32 IB &RM64 UIMM8 0xC1,/3 32 IB RM64 IMM8; OPCODE RCR1 0xD0,/3 RM8 0xD1,/3 16 RM16 0xD1,/3 32 RM32 0xD1,/3 32 RM64; OPCODE ROL 0xD2,/0 RM8 CL 0xD3,/0 16 RM16 CL 0xD3,/0 32 RM32 CL 0xD3,/0 32 RM64 CL 0xC0,/0 IB &RM8 UIMM8 0xC0,/0 IB RM8 IMM8 0xC1,/0 16 IB &RM16 UIMM8 0xC1,/0 16 IB RM16 IMM8 0xC1,/0 32 IB &RM32 UIMM8 0xC1,/0 32 IB RM32 IMM8 0xC1,/0 32 IB &RM64 UIMM8 0xC1,/0 32 IB RM64 IMM8; OPCODE ROL1 0xD0,/0 RM8 0xD1,/0 16 RM16 0xD1,/0 32 RM32 0xD1,/0 32 RM64; OPCODE ROR 0xD2,/1 RM8 CL 0xD3,/1 16 RM16 CL 0xD3,/1 32 RM32 CL 0xD3,/1 32 RM64 CL 0xC0,/1 IB &RM8 UIMM8 0xC0,/1 IB RM8 IMM8 0xC1,/1 16 IB &RM16 UIMM8 0xC1,/1 16 IB RM16 IMM8 0xC1,/1 32 IB &RM32 UIMM8 0xC1,/1 32 IB RM32 IMM8 0xC1,/1 32 IB &RM64 UIMM8 0xC1,/1 32 IB RM64 IMM8; OPCODE ROR1 0xD0,/1 RM8 0xD1,/1 16 RM16 0xD1,/1 32 RM32 0xD1,/1 32 RM64; OPCODE SAL 0xD2,/4 RM8 CL 0xD3,/4 16 RM16 CL 0xD3,/4 32 RM32 CL 0xD3,/4 32 RM64 CL 0xC0,/4 IB &RM8 UIMM8 0xC0,/4 IB RM8 IMM8 0xC1,/4 16 IB &RM16 UIMM8 0xC1,/4 16 IB RM16 IMM8 0xC1,/4 32 IB &RM32 UIMM8 0xC1,/4 32 IB RM32 IMM8 0xC1,/4 32 IB &RM64 UIMM8 0xC1,/4 32 IB RM64 IMM8; OPCODE SAL1 0xD0,/4 RM8 0xD1,/4 16 RM16 0xD1,/4 32 RM32 0xD1,/4 32 RM64; OPCODE SAR 0xD2,/7 RM8 CL 0xD3,/7 16 RM16 CL 0xD3,/7 32 RM32 CL 0xD3,/7 32 RM64 CL 0xC0,/7 IB &RM8 UIMM8 0xC0,/7 IB RM8 IMM8 0xC1,/7 16 IB &RM16 UIMM8 0xC1,/7 16 IB RM16 IMM8 0xC1,/7 32 IB &RM32 UIMM8 0xC1,/7 32 IB RM32 IMM8 0xC1,/7 32 IB &RM64 UIMM8 0xC1,/7 32 IB RM64 IMM8; OPCODE SAR1 0xD0,/7 RM8 0xD1,/7 16 RM16 0xD1,/7 32 RM32 0xD1,/7 32 RM64; OPCODE SHL 0xD2,/4 RM8 CL 0xD3,/4 16 RM16 CL 0xD3,/4 32 RM32 CL 0xD3,/4 32 RM64 CL 0xC0,/4 IB &RM8 UIMM8 0xC0,/4 IB RM8 IMM8 0xC1,/4 16 IB &RM16 UIMM8 0xC1,/4 16 IB RM16 IMM8 0xC1,/4 32 IB &RM32 UIMM8 0xC1,/4 32 IB RM32 IMM8 0xC1,/4 32 IB &RM64 UIMM8 0xC1,/4 32 IB RM64 IMM8; OPCODE SHL1 0xD0,/4 RM8 0xD1,/4 16 RM16 0xD1,/4 32 RM32 0xD1,/4 32 RM64; OPCODE SHR 0xD2,/5 RM8 CL 0xD3,/5 16 RM16 CL 0xD3,/5 32 RM32 CL 0xD3,/5 32 RM64 CL 0xC0,/5 IB &RM8 UIMM8 0xC0,/5 IB RM8 IMM8 0xC1,/5 16 IB &RM16 UIMM8 0xC1,/5 16 IB RM16 IMM8 0xC1,/5 32 IB &RM32 UIMM8 0xC1,/5 32 IB RM32 IMM8 0xC1,/5 32 IB &RM64 UIMM8 0xC1,/5 32 IB RM64 IMM8; OPCODE SHR1 0xD0,/5 RM8 0xD1,/5 16 RM16 0xD1,/5 32 RM32 0xD1,/5 32 RM64; OPCODE FILD 0xDF,/0 M16 //Load I16 0xDB,/0 M32 //Load I32 0xDF,/5 ` M64; //Load I64 OPCODE FISTP 0xDF,/7 ` M64; //Store I64 OPCODE FISTTP 0xDD,/1 ` M64; //Store I64 OPCODE FLD 0xD9,/0 M32 //Load F32 0xDD,/0 ` M64 //Load F64 0xD9 0xC0,+I: STI; OPCODE FSTP 0xD9,/3 M32 //Store F32 0xDD,/3 ` M64 //Store F64 0xDD 0xD8,+I: STI; OPCODE FST 0xD9,/2 M32 //Store F32 0xDD,/2 ` M64 //Store F64 0xDD 0xD0,+I: STI; OPCODE FRSTOR 0xDD,/4 M32 0xDD,/4 M64; OPCODE FSAVE 0xDD,/6 M32 0xDD,/6 M64; OPCODE FYL2X 0xD9 0xF1,:; OPCODE FYL2XP1 0xD9 0xF9,:; OPCODE F2XM1 0xD9 0xF0,:; OPCODE FABS 0xD9 0xE1,:; OPCODE FCHS 0xD9 0xE0,:; OPCODE FSIN 0xD9 0xFE,:; OPCODE FCOS 0xD9 0xFF,:; OPCODE FPTAN 0xD9 0xF2,:; OPCODE FPATAN 0xD9 0xF3,:; OPCODE FSQRT 0xD9 0xFA,:; OPCODE FMULP 0xDE 0xC8,+I: STI ST0; OPCODE FMUL 0xD8,/1 ST0 M32 0xDC,/1 ` ST0 M64 0xD8 0xC8,+I: ST0 STI 0xDC 0xC8,+I: STI ST0; OPCODE FIMUL 0xDA,/1 ST0 M32 0xDE,/1 ST0 M16; OPCODE FDIVP 0xDE 0xF8,+I: STI ST0; OPCODE FDIV 0xD8,/6 ST0 M32 0xDC,/6 ` ST0 M64 0xD8 0xF0,+I: ST0 STI 0xDC 0xF8,+I: STI ST0; OPCODE FDIVRP 0xDE 0xF0,+I: STI ST0; OPCODE FDIVR 0xD8,/7 ST0 M32 0xDC,/7 ` ST0 M64 0xD8 0xF8,+I: ST0 STI 0xDC 0xF0,+I: STI ST0; OPCODE FPREM 0xD9 0xF8,:; OPCODE FADDP 0xDE 0xC0,+I: STI ST0; OPCODE FADD 0xD8,/0 ST0 M32 0xDC,/0 ` ST0 M64 0xD8 0xC0,+I: ST0 STI 0xDC 0xC0,+I: STI ST0; OPCODE FSUBP 0xDE 0xE8,+I: STI ST0; OPCODE FSUB 0xD8,/4 ST0 M32 0xDC,/4 ` ST0 M64 0xD8 0xE0,+I: ST0 STI 0xDC 0xE8,+I: STI ST0; OPCODE FSUBRP 0xDE 0xE0,+I: STI ST0; OPCODE FSUBR 0xD8,/5 ST0 M32 0xDC,/5 ` ST0 M64 0xD8 0xE8,+I: ST0 STI 0xDC 0xE0,+I: STI ST0; OPCODE FCOMIP 0xDF 0xF0,+I: ST0 STI; OPCODE FCOMI 0xDB 0xF0,+I: ST0 STI; OPCODE FCLEX 0x9B 0xDB 0xE2,:; OPCODE FNCLEX 0xDB 0xE2,:; OPCODE FSTSW 0xDF 0xE0,:; OPCODE FDECSTP 0xD9 0xF6,:; OPCODE FINCSTP 0xD9 0xF7,:; OPCODE FFREE 0xDD 0xC0,+I: STI; OPCODE FRNDINT 0xD9 0xFC,:; OPCODE FSCALE 0xD9 0xFD,:; OPCODE FXTRACT 0xD9 0xF4,:; OPCODE FLD1 0xD9 0xE8,:; OPCODE FLDL2T 0xD9 0xE9,:; OPCODE FLDL2E 0xD9 0xEA,:; OPCODE FLDPI 0xD9 0xEB,:; OPCODE FLDLG2 0xD9 0xEC,:; OPCODE FLDLN2 0xD9 0xED,:; OPCODE FLDZ 0xD9 0xEE,:; OPCODE FXCH 0xD9 0xC8,+I: STI; OPCODE FTST 0xD9 0xE4,:; OPCODE FXAM 0xD9 0xE5,:; OPCODE FINIT 0x9B 0xDB 0xE3; OPCODE FNINIT 0xDB 0xE3; OPCODE FSTCW 0xD9,/7 M16; OPCODE FLDCW 0xD9,/5 M16; OPCODE FXSAVE //512 byte 0x0F 0xAE,/0 32 M32 0x0F 0xAE,/0 32 M64; OPCODE FXRSTOR //512 byte 0x0F 0xAE,/1 32 M32 0x0F 0xAE,/1 32 M64; OPCODE WBINVD 0x0F 0x09; OPCODE CLFLUSH 0x0F 0xAE,/7 RM8; OPCODE INVLPG 0x0F 0x01,/7 RM8; OPCODE CPUID 0x0F 0xA2, 32=; OPCODE WRMSR 0x0F 0x30, 32=; OPCODE RDTSC 0x0F 0x31; OPCODE RDMSR 0x0F 0x32, 32=; OPCODE PAUSE 0xF3 0x90; OPCODE MOV_CR0_EAX 0x0F 0x22 0xC0; OPCODE MOV_EAX_CR0 0x0F 0x20 0xC0; OPCODE MOV_CR2_EAX 0x0F 0x22 0xD0; OPCODE MOV_EAX_CR2 0x0F 0x20 0xD0; OPCODE MOV_CR3_EAX 0x0F 0x22 0xD8; OPCODE MOV_EAX_CR3 0x0F 0x20 0xD8; OPCODE MOV_CR4_EAX 0x0F 0x22 0xE0; OPCODE MOV_EAX_CR4 0x0F 0x20 0xE0; OPCODE MOV_CR0_RAX 0x0F 0x22 0xC0, 32=; OPCODE MOV_RAX_CR0 0x0F 0x20 0xC0, 32=; OPCODE MOV_CR2_RAX 0x0F 0x22 0xD0, 32=; OPCODE MOV_RAX_CR2 0x0F 0x20 0xD0, 32=; OPCODE MOV_CR3_RAX 0x0F 0x22 0xD8, 32=; OPCODE MOV_RAX_CR3 0x0F 0x20 0xD8, 32=; OPCODE MOV_CR4_RAX 0x0F 0x22 0xE0, 32=; OPCODE MOV_RAX_CR4 0x0F 0x20 0xE0, 32=;