diff options
author | Keith Kanios <spook@dynatos.net> | 2007-04-12 02:40:54 +0000 |
---|---|---|
committer | Keith Kanios <spook@dynatos.net> | 2007-04-12 02:40:54 +0000 |
commit | b7a89544d09455d7b2f4621c80b21ca457563f4a (patch) | |
tree | 6c89a3318c19c2bf364cbd95859e78fbc2d4e306 /insns.dat | |
parent | aa348dec7d6c5366efd10513ae4ff6fa2bbbd6ed (diff) | |
download | nasm-b7a89544d09455d7b2f4621c80b21ca457563f4a.tar.gz nasm-b7a89544d09455d7b2f4621c80b21ca457563f4a.tar.bz2 nasm-b7a89544d09455d7b2f4621c80b21ca457563f4a.zip |
General push for x86-64 support, dubbed 0.99.00.
Diffstat (limited to 'insns.dat')
-rw-r--r-- | insns.dat | 385 |
1 files changed, 312 insertions, 73 deletions
@@ -15,34 +15,42 @@ ; see the comment at the top of assemble.c. For a detailed description ; of the flags (fourth field), please see insns.h. ; -AAA void \1\x37 8086 -AAD void \2\xD5\x0A 8086 -AAD imm \1\xD5\24 8086,SB -AAM void \2\xD4\x0A 8086 -AAM imm \1\xD4\24 8086,SB -AAS void \1\x3F 8086 +AAA void \1\x37 8086,NOLONG +AAD void \2\xD5\x0A 8086,NOLONG +AAD imm \1\xD5\24 8086,SB,NOLONG +AAM void \2\xD4\x0A 8086,NOLONG +AAM imm \1\xD4\24 8086,SB,NOLONG +AAS void \1\x3F 8086,NOLONG ADC mem,reg8 \300\1\x10\101 8086,SM ADC reg8,reg8 \1\x10\101 8086 ADC mem,reg16 \320\300\1\x11\101 8086,SM ADC reg16,reg16 \320\1\x11\101 8086 ADC mem,reg32 \321\300\1\x11\101 386,SM ADC reg32,reg32 \321\1\x11\101 386 +ADC mem,reg64 \321\300\1\x11\101 X64,SM +ADC reg64,reg64 \321\1\x11\101 X64 ADC reg8,mem \301\1\x12\110 8086,SM ADC reg8,reg8 \1\x12\110 8086 ADC reg16,mem \320\301\1\x13\110 8086,SM ADC reg16,reg16 \320\1\x13\110 8086 ADC reg32,mem \321\301\1\x13\110 386,SM ADC reg32,reg32 \321\1\x13\110 386 +ADC reg64,mem \321\301\1\x13\110 X64,SM +ADC reg64,reg64 \321\1\x13\110 X64 ADC rm16,imm8 \320\300\1\x83\202\15 8086 ADC rm32,imm8 \321\300\1\x83\202\15 386 +ADC rm64,imm8 \321\300\1\x83\202\15 X64 ADC reg_al,imm \1\x14\21 8086,SM ADC reg_ax,sbyte \320\1\x83\202\15 8086,SM,ND ADC reg_ax,imm \320\1\x15\31 8086,SM ADC reg_eax,sbyte \321\1\x83\202\15 386,SM,ND ADC reg_eax,imm \321\1\x15\41 386,SM +ADC reg_rax,sbyte \321\1\x83\202\15 X64,SM,ND +ADC reg_rax,imm \321\1\x15\41 X64,SM ADC rm8,imm \300\1\x80\202\21 8086,SM ADC rm16,imm \320\300\134\1\x81\202\131 8086,SM ADC rm32,imm \321\300\144\1\x81\202\141 386,SM +ADC rm64,imm \321\300\144\1\x81\202\141 X64,SM ADC mem,imm8 \300\1\x80\202\21 8086,SM ADC mem,imm16 \320\300\134\1\x81\202\131 8086,SM ADC mem,imm32 \321\300\144\1\x81\202\141 386,SM @@ -52,22 +60,30 @@ ADD mem,reg16 \320\300\1\x01\101 8086,SM ADD reg16,reg16 \320\1\x01\101 8086 ADD mem,reg32 \321\300\1\x01\101 386,SM ADD reg32,reg32 \321\1\x01\101 386 +ADD mem,reg64 \321\300\1\x01\101 X64,SM +ADD reg64,reg64 \321\1\x01\101 X64 ADD reg8,mem \301\1\x02\110 8086,SM ADD reg8,reg8 \1\x02\110 8086 ADD reg16,mem \320\301\1\x03\110 8086,SM ADD reg16,reg16 \320\1\x03\110 8086 ADD reg32,mem \321\301\1\x03\110 386,SM ADD reg32,reg32 \321\1\x03\110 386 +ADD reg64,mem \321\301\1\x03\110 X64,SM +ADD reg64,reg64 \321\1\x03\110 X64 ADD rm16,imm8 \320\300\1\x83\200\15 8086 ADD rm32,imm8 \321\300\1\x83\200\15 386 +ADD rm64,imm8 \321\300\1\x83\200\15 X64 ADD reg_al,imm \1\x04\21 8086,SM ADD reg_ax,sbyte \320\1\x83\200\15 8086,SM,ND ADD reg_ax,imm \320\1\x05\31 8086,SM ADD reg_eax,sbyte \321\1\x83\200\15 386,SM,ND ADD reg_eax,imm \321\1\x05\41 386,SM +ADD reg_rax,sbyte \321\1\x83\200\15 X64,SM,ND +ADD reg_rax,imm \323\1\x05\41 X64,SM ADD rm8,imm \300\1\x80\200\21 8086,SM ADD rm16,imm \320\300\134\1\x81\200\131 8086,SM ADD rm32,imm \321\300\144\1\x81\200\141 386,SM +ADD rm64,imm \321\300\144\1\x81\200\141 X64,SM ADD mem,imm8 \300\1\x80\200\21 8086,SM ADD mem,imm16 \320\300\134\1\x81\200\131 8086,SM ADD mem,imm32 \321\300\144\1\x81\200\141 386,SM @@ -77,91 +93,122 @@ AND mem,reg16 \320\300\1\x21\101 8086,SM AND reg16,reg16 \320\1\x21\101 8086 AND mem,reg32 \321\300\1\x21\101 386,SM AND reg32,reg32 \321\1\x21\101 386 +AND mem,reg64 \321\300\1\x21\101 X64,SM +AND reg64,reg64 \321\1\x21\101 X64 AND reg8,mem \301\1\x22\110 8086,SM AND reg8,reg8 \1\x22\110 8086 AND reg16,mem \320\301\1\x23\110 8086,SM AND reg16,reg16 \320\1\x23\110 8086 AND reg32,mem \321\301\1\x23\110 386,SM AND reg32,reg32 \321\1\x23\110 386 +AND reg64,mem \321\301\1\x23\110 X64,SM +AND reg64,reg64 \321\1\x23\110 X64 AND rm16,imm8 \320\300\1\x83\204\15 8086 AND rm32,imm8 \321\300\1\x83\204\15 386 +AND rm64,imm8 \321\300\1\x83\204\15 X64 AND reg_al,imm \1\x24\21 8086,SM AND reg_ax,sbyte \320\1\x83\204\15 8086,SM,ND AND reg_ax,imm \320\1\x25\31 8086,SM AND reg_eax,sbyte \321\1\x83\204\15 386,SM,ND AND reg_eax,imm \321\1\x25\41 386,SM +AND reg_rax,sbyte \321\1\x83\204\15 X64,SM,ND +AND reg_rax,imm \324\1\x25\41 X64,SM AND rm8,imm \300\1\x80\204\21 8086,SM AND rm16,imm \320\300\134\1\x81\204\131 8086,SM AND rm32,imm \321\300\144\1\x81\204\141 386,SM +AND rm64,imm \321\300\144\1\x81\204\141 X64,SM AND mem,imm8 \300\1\x80\204\21 8086,SM AND mem,imm16 \320\300\134\1\x81\204\131 8086,SM AND mem,imm32 \321\300\144\1\x81\204\141 386,SM -ARPL mem,reg16 \300\1\x63\101 286,PROT,SM -ARPL reg16,reg16 \1\x63\101 286,PROT -BOUND reg16,mem \320\301\1\x62\110 186 -BOUND reg32,mem \321\301\1\x62\110 386 +ARPL mem,reg16 \300\1\x63\101 286,PROT,SM,NOLONG +ARPL reg16,reg16 \1\x63\101 286,PROT,NOLONG +BOUND reg16,mem \320\301\1\x62\110 186,NOLONG +BOUND reg32,mem \321\301\1\x62\110 386,NOLONG BSF reg16,mem \320\301\2\x0F\xBC\110 386,SM BSF reg16,reg16 \320\2\x0F\xBC\110 386 BSF reg32,mem \321\301\2\x0F\xBC\110 386,SM BSF reg32,reg32 \321\2\x0F\xBC\110 386 +BSF reg64,mem \321\301\2\x0F\xBC\110 X64,SM +BSF reg64,reg64 \321\2\x0F\xBC\110 X64 BSR reg16,mem \320\301\2\x0F\xBD\110 386,SM BSR reg16,reg16 \320\2\x0F\xBD\110 386 BSR reg32,mem \321\301\2\x0F\xBD\110 386,SM BSR reg32,reg32 \321\2\x0F\xBD\110 386 +BSR reg64,mem \321\301\2\x0F\xBD\110 X64,SM +BSR reg64,reg64 \321\2\x0F\xBD\110 X64 BSWAP reg32 \321\1\x0F\10\xC8 486 +BSWAP reg64 \321\1\x0F\10\xC8 X64 BT mem,reg16 \320\300\2\x0F\xA3\101 386,SM BT reg16,reg16 \320\2\x0F\xA3\101 386 BT mem,reg32 \321\300\2\x0F\xA3\101 386,SM BT reg32,reg32 \321\2\x0F\xA3\101 386 +BT mem,reg64 \321\300\2\x0F\xA3\101 X64,SM +BT reg64,reg64 \321\2\x0F\xA3\101 X64 BT rm16,imm \320\300\2\x0F\xBA\204\25 386,SB BT rm32,imm \321\300\2\x0F\xBA\204\25 386,SB +BT rm64,imm \321\300\2\x0F\xBA\204\25 X64,SB BTC mem,reg16 \320\300\2\x0F\xBB\101 386,SM BTC reg16,reg16 \320\2\x0F\xBB\101 386 BTC mem,reg32 \321\300\2\x0F\xBB\101 386,SM BTC reg32,reg32 \321\2\x0F\xBB\101 386 +BTC mem,reg64 \321\300\2\x0F\xBB\101 X64,SM +BTC reg64,reg64 \321\2\x0F\xBB\101 X64 BTC rm16,imm \320\300\2\x0F\xBA\207\25 386,SB BTC rm32,imm \321\300\2\x0F\xBA\207\25 386,SB +BTC rm64,imm \321\300\2\x0F\xBA\207\25 X64,SB BTR mem,reg16 \320\300\2\x0F\xB3\101 386,SM BTR reg16,reg16 \320\2\x0F\xB3\101 386 BTR mem,reg32 \321\300\2\x0F\xB3\101 386,SM BTR reg32,reg32 \321\2\x0F\xB3\101 386 +BTR mem,reg64 \321\300\2\x0F\xB3\101 X64,SM +BTR reg64,reg64 \321\2\x0F\xB3\101 X64 BTR rm16,imm \320\300\2\x0F\xBA\206\25 386,SB BTR rm32,imm \321\300\2\x0F\xBA\206\25 386,SB +BTR rm64,imm \321\300\2\x0F\xBA\206\25 X64,SB BTS mem,reg16 \320\300\2\x0F\xAB\101 386,SM BTS reg16,reg16 \320\2\x0F\xAB\101 386 BTS mem,reg32 \321\300\2\x0F\xAB\101 386,SM BTS reg32,reg32 \321\2\x0F\xAB\101 386 +BTS mem,reg64 \321\300\2\x0F\xAB\101 X64,SM +BTS reg64,reg64 \321\2\x0F\xAB\101 X64 BTS rm16,imm \320\300\2\x0F\xBA\205\25 386,SB BTS rm32,imm \321\300\2\x0F\xBA\205\25 386,SB +BTS rm64,imm \321\300\2\x0F\xBA\205\25 X64,SB CALL imm \322\1\xE8\64 8086 CALL imm|near \322\1\xE8\64 8086 -CALL imm|far \322\1\x9A\34\37 8086,ND +CALL imm|far \322\1\x9A\34\37 8086,ND,NOLONG CALL imm16 \320\1\xE8\64 8086 CALL imm16|near \320\1\xE8\64 8086 -CALL imm16|far \320\1\x9A\34\37 8086,ND +CALL imm16|far \320\1\x9A\34\37 8086,ND,NOLONG CALL imm32 \321\1\xE8\64 386 CALL imm32|near \321\1\xE8\64 386 -CALL imm32|far \321\1\x9A\34\37 386,ND -CALL imm:imm \322\1\x9A\35\30 8086 -CALL imm16:imm \320\1\x9A\31\30 8086 -CALL imm:imm16 \320\1\x9A\31\30 8086 -CALL imm32:imm \321\1\x9A\41\30 386 -CALL imm:imm32 \321\1\x9A\41\30 386 +CALL imm32|far \321\1\x9A\34\37 386,ND,NOLONG +CALL imm:imm \322\1\x9A\35\30 8086,NOLONG +CALL imm16:imm \320\1\x9A\31\30 8086,NOLONG +CALL imm:imm16 \320\1\x9A\31\30 8086,NOLONG +CALL imm32:imm \321\1\x9A\41\30 386,NOLONG +CALL imm:imm32 \321\1\x9A\41\30 386,NOLONG CALL mem|far \322\300\1\xFF\203 8086 CALL mem16|far \320\300\1\xFF\203 8086 CALL mem32|far \321\300\1\xFF\203 386 CALL mem|near \322\300\1\xFF\202 8086 CALL mem16|near \320\300\1\xFF\202 8086 -CALL mem32|near \321\300\1\xFF\202 386 +CALL mem32|near \321\300\1\xFF\202 386,NOLONG +CALL mem64|near \321\300\1\xFF\202 X64 CALL reg16 \320\300\1\xFF\202 8086 -CALL reg32 \321\300\1\xFF\202 386 +CALL reg32 \321\300\1\xFF\202 386,NOLONG +CALL reg64 \321\300\1\xFF\202 X64 CALL mem \322\300\1\xFF\202 8086 CALL mem16 \320\300\1\xFF\202 8086 -CALL mem32 \321\300\1\xFF\202 386 +CALL mem32 \321\300\1\xFF\202 386,NOLONG +CALL mem64 \321\300\1\xFF\202 X64 CBW void \320\1\x98 8086 CDQ void \321\1\x99 386 +CDQE void \324\1\x98 X64 CLC void \1\xF8 8086 CLD void \1\xFC 8086 +CLFLUSH mem8 \300\2\x0F\x80\207 X64,AMD,SM +CLGI void \3\x0F\x01\xDD X64,AMD CLI void \1\xFA 8086 CLTS void \2\x0F\x06 286,PRIV CMC void \1\xF5 8086 @@ -171,27 +218,36 @@ CMP mem,reg16 \320\300\1\x39\101 8086,SM CMP reg16,reg16 \320\1\x39\101 8086 CMP mem,reg32 \321\300\1\x39\101 386,SM CMP reg32,reg32 \321\1\x39\101 386 +CMP mem,reg64 \321\300\1\x39\101 X64,SM +CMP reg64,reg64 \321\1\x39\101 X64 CMP reg8,mem \301\1\x3A\110 8086,SM CMP reg8,reg8 \1\x3A\110 8086 CMP reg16,mem \320\301\1\x3B\110 8086,SM CMP reg16,reg16 \320\1\x3B\110 8086 CMP reg32,mem \321\301\1\x3B\110 386,SM CMP reg32,reg32 \321\1\x3B\110 386 +CMP reg64,mem \321\301\1\x3B\110 X64,SM +CMP reg64,reg64 \321\1\x3B\110 X64 CMP rm16,imm8 \320\300\1\x83\207\15 8086 CMP rm32,imm8 \321\300\1\x83\207\15 386 +CMP rm64,imm8 \321\300\1\x83\207\15 X64 CMP reg_al,imm \1\x3C\21 8086,SM CMP reg_ax,sbyte \320\1\x83\207\15 8086,SM,ND CMP reg_ax,imm \320\1\x3D\31 8086,SM CMP reg_eax,sbyte \321\1\x83\207\15 386,SM,ND CMP reg_eax,imm \321\1\x3D\41 386,SM +CMP reg_rax,sbyte \321\1\x83\207\15 X64,SM,ND +CMP reg_rax,imm \321\1\x3D\41 X64,SM CMP rm8,imm \300\1\x80\207\21 8086,SM CMP rm16,imm \320\300\134\1\x81\207\131 8086,SM CMP rm32,imm \321\300\144\1\x81\207\141 386,SM +CMP rm64,imm \321\300\144\1\x81\207\141 X64,SM CMP mem,imm8 \300\1\x80\207\21 8086,SM CMP mem,imm16 \320\300\134\1\x81\207\131 8086,SM CMP mem,imm32 \321\300\144\1\x81\207\141 386,SM CMPSB void \332\1\xA6 8086 CMPSD void \332\321\1\xA7 386 +CMPSQ void \332\324\1\xA7 X64 CMPSW void \332\320\1\xA7 8086 CMPXCHG mem,reg8 \300\2\x0F\xB0\101 PENT,SM CMPXCHG reg8,reg8 \2\x0F\xB0\101 PENT @@ -199,6 +255,8 @@ CMPXCHG mem,reg16 \320\300\2\x0F\xB1\101 PENT,SM CMPXCHG reg16,reg16 \320\2\x0F\xB1\101 PENT CMPXCHG mem,reg32 \321\300\2\x0F\xB1\101 PENT,SM CMPXCHG reg32,reg32 \321\2\x0F\xB1\101 PENT +CMPXCHG mem,reg64 \321\300\2\x0F\xB1\101 X64,SM +CMPXCHG reg64,reg64 \321\2\x0F\xB1\101 X64 CMPXCHG486 mem,reg8 \300\2\x0F\xA6\101 486,SM,UNDOC CMPXCHG486 reg8,reg8 \2\x0F\xA6\101 486,UNDOC CMPXCHG486 mem,reg16 \320\300\2\x0F\xA7\101 486,SM,UNDOC @@ -206,21 +264,25 @@ CMPXCHG486 reg16,reg16 \320\2\x0F\xA7\101 486,UNDOC CMPXCHG486 mem,reg32 \321\300\2\x0F\xA7\101 486,SM,UNDOC CMPXCHG486 reg32,reg32 \321\2\x0F\xA7\101 486,UNDOC CMPXCHG8B mem \300\2\x0F\xC7\201 PENT +CMPXCHG16B mem \324\300\2\x0F\xC7\201 X64 CPUID void \2\x0F\xA2 PENT +CQO void \324\1\x99 X64 CWD void \320\1\x99 8086 CWDE void \321\1\x98 386 -DAA void \1\x27 8086 -DAS void \1\x2F 8086 +DAA void \1\x27 8086,NOLONG +DAS void \1\x2F 8086,NOLONG DB ignore ignore ignore DD ignore ignore ignore -DEC reg16 \320\10\x48 8086 -DEC reg32 \321\10\x48 386 +DEC reg16 \320\10\x48 8086,NOLONG +DEC reg32 \321\10\x48 386,NOLONG DEC rm8 \300\1\xFE\201 8086 DEC rm16 \320\300\1\xFF\201 8086 DEC rm32 \321\300\1\xFF\201 386 +DEC rm64 \321\300\1\xFF\201 X64 DIV rm8 \300\1\xF6\206 8086 DIV rm16 \320\300\1\xF7\206 8086 DIV rm32 \321\300\1\xF7\206 386 +DIV rm64 \321\300\1\xF7\206 X64 DQ ignore ignore ignore DT ignore ignore ignore DW ignore ignore ignore @@ -422,13 +484,17 @@ ICEBP void \1\xF1 386,ND IDIV rm8 \300\1\xF6\207 8086 IDIV rm16 \320\300\1\xF7\207 8086 IDIV rm32 \321\300\1\xF7\207 386 +IDIV rm64 \321\300\1\xF7\207 X64 IMUL rm8 \300\1\xF6\205 8086 IMUL rm16 \320\300\1\xF7\205 8086 IMUL rm32 \321\300\1\xF7\205 386 +IMUL rm64 \321\300\1\xF7\205 X64 IMUL reg16,mem \320\301\2\x0F\xAF\110 386,SM IMUL reg16,reg16 \320\2\x0F\xAF\110 386 IMUL reg32,mem \321\301\2\x0F\xAF\110 386,SM IMUL reg32,reg32 \321\2\x0F\xAF\110 386 +IMUL reg64,mem \321\301\2\x0F\xAF\110 X64,SM +IMUL reg64,reg64 \321\2\x0F\xAF\110 X64 IMUL reg16,mem,imm8 \320\301\1\x6B\110\16 186,SM IMUL reg16,mem,sbyte \320\301\1\x6B\110\16 186,SM,ND IMUL reg16,mem,imm16 \320\301\1\x69\110\32 186,SM @@ -445,6 +511,14 @@ IMUL reg32,reg32,imm8 \321\1\x6B\110\16 386 IMUL reg32,reg32,sbyte \321\1\x6B\110\16 386,SM,ND IMUL reg32,reg32,imm32 \321\1\x69\110\42 386 IMUL reg32,reg32,imm \321\145\1\x69\110\142 386,SM,ND +IMUL reg64,mem,imm8 \321\301\1\x6B\110\16 X64,SM +IMUL reg64,mem,sbyte \321\301\1\x6B\110\16 X64,SM,ND +IMUL reg64,mem,imm32 \321\301\1\x69\110\42 X64,SM +IMUL reg64,mem,imm \321\301\145\1\x69\110\142 X64,SM,ND +IMUL reg64,reg64,imm8 \321\1\x6B\110\16 X64 +IMUL reg64,reg64,sbyte \321\1\x6B\110\16 X64,SM,ND +IMUL reg64,reg64,imm32 \321\1\x69\110\42 X64 +IMUL reg64,reg64,imm \321\145\1\x69\110\142 X64,SM,ND IMUL reg16,imm8 \320\1\x6B\100\15 186 IMUL reg16,sbyte \320\1\x6B\100\15 186,SM,ND IMUL reg16,imm16 \320\1\x69\100\31 186 @@ -453,17 +527,21 @@ IMUL reg32,imm8 \321\1\x6B\100\15 386 IMUL reg32,sbyte \321\1\x6B\100\15 386,SM,ND IMUL reg32,imm32 \321\1\x69\100\41 386 IMUL reg32,imm \321\144\1\x69\100\141 386,SM,ND +IMUL reg64,sbyte \321\1\x6B\100\15 X64,SM,ND +IMUL reg64,imm32 \321\1\x69\100\41 X64 +IMUL reg64,imm \321\144\1\x69\100\141 X64,SM,ND IN reg_al,imm \1\xE4\25 8086,SB IN reg_ax,imm \320\1\xE5\25 8086,SB IN reg_eax,imm \321\1\xE5\25 386,SB IN reg_al,reg_dx \1\xEC 8086 IN reg_ax,reg_dx \320\1\xED 8086 IN reg_eax,reg_dx \321\1\xED 386 -INC reg16 \320\10\x40 8086 -INC reg32 \321\10\x40 386 +INC reg16 \320\10\x40 8086,NOLONG +INC reg32 \321\10\x40 386,NOLONG INC rm8 \300\1\xFE\200 8086 INC rm16 \320\300\1\xFF\200 8086 INC rm32 \321\300\1\xFF\200 386 +INC rm64 \321\300\1\xFF\200 X64 INCBIN ignore ignore ignore INSB void \1\x6C 186 INSD void \321\1\x6D 386 @@ -473,58 +551,68 @@ INT01 void \1\xF1 386,ND INT1 void \1\xF1 386 INT03 void \1\xCC 8086,ND INT3 void \1\xCC 8086 -INTO void \1\xCE 8086 +INTO void \1\xCE 8086,NOLONG INVD void \2\x0F\x08 486,PRIV INVLPG mem \300\2\x0F\x01\207 486,PRIV +INVLPGA void \3\x0F\x01\xDF X64,AMD IRET void \322\1\xCF 8086 IRETD void \321\1\xCF 386 +IRETQ void \324\1\xCF X64 IRETW void \320\1\xCF 8086 -JCXZ imm \310\1\xE3\50 8086 +JCXZ imm \310\1\xE3\50 8086,NOLONG JECXZ imm \311\1\xE3\50 386 JMP imm|short \1\xEB\50 8086 JMP imm \371\1\xEB\50 8086,ND JMP imm \322\1\xE9\64 8086 JMP imm|near \322\1\xE9\64 8086,ND -JMP imm|far \322\1\xEA\34\37 8086,ND +JMP imm|far \322\1\xEA\34\37 8086,ND,NOLONG JMP imm16 \320\1\xE9\64 8086 JMP imm16|near \320\1\xE9\64 8086,ND -JMP imm16|far \320\1\xEA\34\37 8086,ND +JMP imm16|far \320\1\xEA\34\37 8086,ND,NOLONG JMP imm32 \321\1\xE9\64 386 JMP imm32|near \321\1\xE9\64 386,ND -JMP imm32|far \321\1\xEA\34\37 386,ND -JMP imm:imm \322\1\xEA\35\30 8086 -JMP imm16:imm \320\1\xEA\31\30 8086 -JMP imm:imm16 \320\1\xEA\31\30 8086 -JMP imm32:imm \321\1\xEA\41\30 386 -JMP imm:imm32 \321\1\xEA\41\30 386 +JMP imm32|far \321\1\xEA\34\37 386,ND,NOLONG +JMP imm:imm \322\1\xEA\35\30 8086,NOLONG +JMP imm16:imm \320\1\xEA\31\30 8086,NOLONG +JMP imm:imm16 \320\1\xEA\31\30 8086,NOLONG +JMP imm32:imm \321\1\xEA\41\30 386,NOLONG +JMP imm:imm32 \321\1\xEA\41\30 386,NOLONG JMP mem|far \322\300\1\xFF\205 8086 JMP mem16|far \320\300\1\xFF\205 8086 JMP mem32|far \321\300\1\xFF\205 386 JMP mem|near \322\300\1\xFF\204 8086 JMP mem16|near \320\300\1\xFF\204 8086 -JMP mem32|near \321\300\1\xFF\204 386 +JMP mem32|near \321\300\1\xFF\204 386,NOLONG +JMP mem64|near \321\300\1\xFF\204 X64 JMP reg16 \320\300\1\xFF\204 8086 -JMP reg32 \321\300\1\xFF\204 386 +JMP reg32 \321\300\1\xFF\204 386,NOLONG +JMP reg64 \321\300\1\xFF\204 X64 JMP mem \322\300\1\xFF\204 8086 JMP mem16 \320\300\1\xFF\204 8086 -JMP mem32 \321\300\1\xFF\204 386 +JMP mem32 \321\300\1\xFF\204 386,NOLONG +JMP mem64 \321\300\1\xFF\204 X64 JMPE imm \322\2\x0F\xB8\64 IA64 JMPE imm16 \320\2\x0F\xB8\64 IA64 JMPE imm32 \321\2\x0F\xB8\64 IA64 JMPE rm16 \320\2\x0F\x00\206 IA64 JMPE rm32 \321\2\x0F\x00\206 IA64 +JRCXZ imm \300\1\xE3\50 X64 LAHF void \1\x9F 8086 LAR reg16,mem \320\301\2\x0F\x02\110 286,PROT,SM LAR reg16,reg16 \320\2\x0F\x02\110 286,PROT LAR reg32,mem \321\301\2\x0F\x02\110 386,PROT,SM LAR reg32,reg32 \321\2\x0F\x02\110 386,PROT -LDS reg16,mem \320\301\1\xC5\110 8086 -LDS reg32,mem \321\301\1\xC5\110 386 +LAR reg64,mem \321\301\2\x0F\x02\110 X64,SM +LAR reg64,reg64 \321\2\x0F\x02\110 X64,PROT +LDS reg16,mem \320\301\1\xC5\110 8086,NOLONG +LDS reg32,mem \321\301\1\xC5\110 386,NOLONG LEA reg16,mem \320\301\1\x8D\110 8086 LEA reg32,mem \321\301\1\x8D\110 386 +LEA reg64,mem \321\301\1\x8D\110 X64 LEAVE void \1\xC9 186 -LES reg16,mem \320\301\1\xC4\110 8086 -LES reg32,mem \321\301\1\xC4\110 386 +LES reg16,mem \320\301\1\xC4\110 8086,NOLONG +LES reg32,mem \321\301\1\xC4\110 386,NOLONG +LFENCE void \3\x0F\xAE\xE8 X64,AMD LFS reg16,mem \320\301\2\x0F\xB4\110 386 LFS reg32,mem \321\301\2\x0F\xB4\110 386 LGDT mem \300\2\x0F\x01\202 286,PRIV @@ -541,31 +629,40 @@ LOADALL void \2\x0F\x07 386,UNDOC LOADALL286 void \2\x0F\x05 286,UNDOC LODSB void \1\xAC 8086 LODSD void \321\1\xAD 386 +LODSQ void \324\1\xAD X64 LODSW void \320\1\xAD 8086 LOOP imm \312\1\xE2\50 8086 -LOOP imm,reg_cx \310\1\xE2\50 8086 +LOOP imm,reg_cx \310\1\xE2\50 8086,NOLONG LOOP imm,reg_ecx \311\1\xE2\50 386 +LOOP imm,reg_rcx \313\1\xE2\50 X64 LOOPE imm \312\1\xE1\50 8086 -LOOPE imm,reg_cx \310\1\xE1\50 8086 +LOOPE imm,reg_cx \310\1\xE1\50 8086,NOLONG LOOPE imm,reg_ecx \311\1\xE1\50 386 +LOOPE imm,reg_rcx \313\1\xE1\50 X64 LOOPNE imm \312\1\xE0\50 8086 -LOOPNE imm,reg_cx \310\1\xE0\50 8086 +LOOPNE imm,reg_cx \310\1\xE0\50 8086,NOLONG LOOPNE imm,reg_ecx \311\1\xE0\50 386 +LOOPNE imm,reg_rcx \313\1\xE0\50 X64 LOOPNZ imm \312\1\xE0\50 8086 -LOOPNZ imm,reg_cx \310\1\xE0\50 8086 +LOOPNZ imm,reg_cx \310\1\xE0\50 8086,NOLONG LOOPNZ imm,reg_ecx \311\1\xE0\50 386 +LOOPNZ imm,reg_rcx \313\1\xE0\50 X64 LOOPZ imm \312\1\xE1\50 8086 -LOOPZ imm,reg_cx \310\1\xE1\50 8086 +LOOPZ imm,reg_cx \310\1\xE1\50 8086,NOLONG LOOPZ imm,reg_ecx \311\1\xE1\50 386 +LOOPZ imm,reg_rcx \313\1\xE1\50 X64 LSL reg16,mem \320\301\2\x0F\x03\110 286,PROT,SM LSL reg16,reg16 \320\2\x0F\x03\110 286,PROT LSL reg32,mem \321\301\2\x0F\x03\110 386,PROT,SM LSL reg32,reg32 \321\2\x0F\x03\110 386,PROT +LSL reg64,mem \321\301\2\x0F\x03\110 X64,SM +LSL reg64,reg64 \321\2\x0F\x03\110 X64,PROT LSS reg16,mem \320\301\2\x0F\xB2\110 386 LSS reg32,mem \321\301\2\x0F\xB2\110 386 LTR mem \300\1\x0F\17\203 286,PROT,PRIV -LTR mem16 \300\1\x0F\17\203 286,PROT,PRIV -LTR reg16 \1\x0F\17\203 286,PROT,PRIV +LTR mem16 \300\1\x0F\17\203 286,PROT,PRIV,NOLONG +LTR reg16 \1\x0F\17\203 286,PROT,PRIV,NOLONG +MFENCE void \3\x0F\xAE\xF0 X64,AMD MONITOR void \3\x0F\x01\xC8 PRESCOTT MONITOR reg_eax,reg_ecx,reg_edx \3\x0F\x01\xC8 PRESCOTT,ND MOV mem,reg_sreg \300\1\x8C\101 8086,SM @@ -577,89 +674,136 @@ MOV reg_sreg,reg32 \1\x8E\110 386 MOV reg_al,mem_offs \301\1\xA0\45 8086,SM MOV reg_ax,mem_offs \301\320\1\xA1\45 8086,SM MOV reg_eax,mem_offs \301\321\1\xA1\45 386,SM +MOV reg_rax,mem_offs \301\321\1\xA1\45 X64,SM MOV mem_offs,reg_al \300\1\xA2\44 8086,SM MOV mem_offs,reg_ax \300\320\1\xA3\44 8086,SM MOV mem_offs,reg_eax \300\321\1\xA3\44 386,SM +MOV mem_offs,reg_rax \300\321\1\xA3\44 X64,SM +MOV reg32,reg_c8reg \3\xF0\x0F\x20\101 NOLONG +MOV reg_c8reg,reg32 \3\xF0\x0F\x22\110 NOLONG +MOV reg32,reg_c8reg \321\2\x0F\x20\101 X64 +MOV reg64,reg_c8reg \323\2\x0F\x20\101 X64 +MOV reg_c8reg,reg32 \321\2\x0F\x22\110 X64 +MOV reg_c8reg,reg64 \323\2\x0F\x22\110 X64 MOV reg32,reg_creg \2\x0F\x20\101 386,PRIV -MOV reg32,reg_dreg \2\x0F\x21\101 386,PRIV -MOV reg32,reg_treg \2\x0F\x24\101 386,PRIV +MOV reg64,reg_creg \323\2\x0F\x20\101 X64 MOV reg_creg,reg32 \2\x0F\x22\110 386,PRIV +MOV reg_creg,reg64 \323\2\x0F\x22\110 X64 +MOV reg32,reg_dreg \2\x0F\x21\101 386,PRIV +MOV reg64,reg_dreg \323\2\x0F\x21\101 X64 MOV reg_dreg,reg32 \2\x0F\x23\110 386,PRIV +MOV reg_dreg,reg64 \323\2\x0F\x23\110 X64 +MOV reg32,reg_treg \2\x0F\x24\101 386,PRIV +MOV reg64,reg_treg \323\2\x0F\x24\101 X64 MOV reg_treg,reg32 \2\x0F\x26\110 386,PRIV +MOV reg_treg,reg64 \323\2\x0F\x26\110 X64 MOV mem,reg8 \300\1\x88\101 8086,SM MOV reg8,reg8 \1\x88\101 8086 MOV mem,reg16 \320\300\1\x89\101 8086,SM MOV reg16,reg16 \320\1\x89\101 8086 MOV mem,reg32 \321\300\1\x89\101 386,SM MOV reg32,reg32 \321\1\x89\101 386 +MOV mem,reg64 \321\300\1\x89\101 X64,SM +MOV reg64,reg64 \321\1\x89\101 X64 MOV reg8,mem \301\1\x8A\110 8086,SM MOV reg8,reg8 \1\x8A\110 8086 MOV reg16,mem \320\301\1\x8B\110 8086,SM MOV reg16,reg16 \320\1\x8B\110 8086 MOV reg32,mem \321\301\1\x8B\110 386,SM MOV reg32,reg32 \321\1\x8B\110 386 +MOV reg64,mem \321\301\1\x8B\110 X64,SM +MOV reg64,reg64 \321\1\x8B\110 X64 MOV reg8,imm \10\xB0\21 8086,SM MOV reg16,imm \320\10\xB8\31 8086,SM MOV reg32,imm \321\10\xB8\41 386,SM +MOV reg64,imm \321\10\xB8\55 X64,SM MOV rm8,imm \300\1\xC6\200\21 8086,SM MOV rm16,imm \320\300\1\xC7\200\31 8086,SM MOV rm32,imm \321\300\1\xC7\200\41 386,SM +MOV rm64,imm \321\300\1\xC7\200\41 X64,SM MOV mem,imm8 \300\1\xC6\200\21 8086,SM MOV mem,imm16 \320\300\1\xC7\200\31 8086,SM MOV mem,imm32 \321\300\1\xC7\200\41 386,SM MOVD mmxreg,mem \301\2\x0F\x6E\110 PENT,MMX,SD MOVD mmxreg,reg32 \2\x0F\x6E\110 PENT,MMX +MOVD mmxreg,reg64 \2\x0F\x6E\110 X64,MMX MOVD mem,mmxreg \300\2\x0F\x7E\101 PENT,MMX,SD MOVD reg32,mmxreg \2\x0F\x7E\101 PENT,MMX +MOVD reg64,mmxreg \2\x0F\x7E\101 X64,MMX +MOVD xmmreg,mem \320\301\2\x0F\x6E\110 X64,SD +MOVD xmmreg,reg32 \320\2\x0F\x6E\110 X64 +MOVD xmmreg,reg64 \320\2\x0F\x6E\110 X64 +MOVD mem,xmmreg \320\300\2\x0F\x7E\101 X64,SD +MOVD reg32,xmmreg \320\2\x0F\x7E\101 X64,SSE +MOVD reg64,xmmreg \320\2\x0F\x7E\101 X64,SSE +MOVMSKPD reg32,xmmreg \320\2\x0F\x50\101 X64,SSE +MOVMSKPS reg32,xmmreg \2\x0F\x50\101 X64,SSE MOVQ mmxreg,mem \301\2\x0F\x6F\110 PENT,MMX,SM MOVQ mmxreg,mmxreg \2\x0F\x6F\110 PENT,MMX MOVQ mem,mmxreg \300\2\x0F\x7F\101 PENT,MMX,SM MOVQ mmxreg,mmxreg \2\x0F\x7F\101 PENT,MMX MOVSB void \1\xA4 8086 MOVSD void \321\1\xA5 386 +MOVSQ void \324\1\xA5 X64 MOVSW void \320\1\xA5 8086 MOVSX reg16,mem \320\301\2\x0F\xBE\110 386,SB MOVSX reg16,reg8 \320\2\x0F\xBE\110 386 MOVSX reg32,rm8 \321\301\2\x0F\xBE\110 386 MOVSX reg32,rm16 \321\301\2\x0F\xBF\110 386 +MOVSX reg64,rm8 \321\301\2\x0F\xBE\110 X64 +MOVSX reg64,rm16 \321\301\2\x0F\xBF\110 X64 +MOVSX reg64,rm32 \321\301\1\x63\110 X64 MOVZX reg16,mem \320\301\2\x0F\xB6\110 386,SB MOVZX reg16,reg8 \320\2\x0F\xB6\110 386 MOVZX reg32,rm8 \321\301\2\x0F\xB6\110 386 MOVZX reg32,rm16 \321\301\2\x0F\xB7\110 386 +MOVZX reg64,rm8 \321\301\2\x0F\xB6\110 X64 +MOVZX reg64,rm16 \321\301\2\x0F\xB7\110 X64 MUL rm8 \300\1\xF6\204 8086 MUL rm16 \320\300\1\xF7\204 8086 MUL rm32 \321\300\1\xF7\204 386 +MUL rm64 \321\300\1\xF7\204 X64 MWAIT void \3\x0F\x01\xC9 PRESCOTT MWAIT reg_eax,reg_ecx \3\x0F\x01\xC9 PRESCOTT,ND NEG rm8 \300\1\xF6\203 8086 NEG rm16 \320\300\1\xF7\203 8086 NEG rm32 \321\300\1\xF7\203 386 +NEG rm64 \321\300\1\xF7\203 X64 NOP void \1\x90 8086 NOT rm8 \300\1\xF6\202 8086 NOT rm16 \320\300\1\xF7\202 8086 NOT rm32 \321\300\1\xF7\202 386 +NOT rm64 \321\300\1\xF7\202 X64 OR mem,reg8 \300\1\x08\101 8086,SM OR reg8,reg8 \1\x08\101 8086 OR mem,reg16 \320\300\1\x09\101 8086,SM OR reg16,reg16 \320\1\x09\101 8086 OR mem,reg32 \321\300\1\x09\101 386,SM OR reg32,reg32 \321\1\x09\101 386 +OR mem,reg64 \321\300\1\x09\101 X64,SM +OR reg64,reg64 \321\1\x09\101 X64 OR reg8,mem \301\1\x0A\110 8086,SM OR reg8,reg8 \1\x0A\110 8086 OR reg16,mem \320\301\1\x0B\110 8086,SM OR reg16,reg16 \320\1\x0B\110 8086 OR reg32,mem \321\301\1\x0B\110 386,SM OR reg32,reg32 \321\1\x0B\110 386 +OR reg64,mem \321\301\1\x0B\110 X64,SM +OR reg64,reg64 \321\1\x0B\110 X64 OR rm16,imm8 \320\300\1\x83\201\15 8086 OR rm32,imm8 \321\300\1\x83\201\15 386 +OR rm64,imm8 \321\300\1\x83\201\15 X64 OR reg_al,imm \1\x0C\21 8086,SM OR reg_ax,sbyte \320\1\x83\201\15 8086,SM,ND OR reg_ax,imm \320\1\x0D\31 8086,SM OR reg_eax,sbyte \321\1\x83\201\15 386,SM,ND OR reg_eax,imm \321\1\x0D\41 386,SM +OR reg_rax,sbyte \321\1\x83\201\15 X64,SM,ND +OR reg_rax,imm \321\1\x0D\41 X64,SM OR rm8,imm \300\1\x80\201\21 8086,SM OR rm16,imm \320\300\134\1\x81\201\131 8086,SM OR rm32,imm \321\300\144\1\x81\201\141 386,SM +OR rm64,imm \321\300\144\1\x81\201\141 X64,SM OR mem,imm8 \300\1\x80\201\21 8086,SM OR mem,imm16 \320\300\134\1\x81\201\131 8086,SM OR mem,imm32 \321\300\144\1\x81\201\141 386,SM @@ -698,6 +842,7 @@ PAND mmxreg,mem \301\2\x0F\xDB\110 PENT,MMX,SM PAND mmxreg,mmxreg \2\x0F\xDB\110 PENT,MMX PANDN mmxreg,mem \301\2\x0F\xDF\110 PENT,MMX,SM PANDN mmxreg,mmxreg \2\x0F\xDF\110 PENT,MMX +PAUSE void \2\xF3\x90 X64,AMD PAVEB mmxreg,mem \301\2\x0F\x50\110 PENT,MMX,SM,CYRIX PAVEB mmxreg,mmxreg \2\x0F\x50\110 PENT,MMX,CYRIX PAVGUSB mmxreg,mem \301\2\x0F\x0F\110\01\xBF PENT,3DNOW,SM @@ -769,22 +914,29 @@ PMVLZB mmxreg,mem \301\2\x0F\x5B\110 PENT,MMX,SM,CYRIX PMVNZB mmxreg,mem \301\2\x0F\x5A\110 PENT,MMX,SM,CYRIX PMVZB mmxreg,mem \301\2\x0F\x58\110 PENT,MMX,SM,CYRIX POP reg16 \320\10\x58 8086 -POP reg32 \321\10\x58 386 +POP reg32 \321\10\x58 386,NOLONG +POP reg64 \323\10\x58 X64 POP rm16 \320\300\1\x8F\200 8086 -POP rm32 \321\300\1\x8F\200 386 +POP rm32 \321\300\1\x8F\200 386,NOLONG +POP rm64 \323\300\1\x8F\200 X64 POP reg_cs \1\x0F 8086,UNDOC,ND -POP reg_dess \4 8086 +POP reg_dess \4 8086,NOLONG POP reg_fsgs \1\x0F\5 386 -POPA void \322\1\x61 186 -POPAD void \321\1\x61 386 -POPAW void \320\1\x61 186 +POPA void \322\1\x61 186,NOLONG +POPAD void \321\1\x61 386,NOLONG +POPAW void \320\1\x61 186,NOLONG POPF void \322\1\x9D 8086 -POPFD void \321\1\x9D 386 +POPFD void \321\1\x9D 386,NOLONG +POPFQ void \321\1\x9D X64 POPFW void \320\1\x9D 8086 POR mmxreg,mem \301\2\x0F\xEB\110 PENT,MMX,SM POR mmxreg,mmxreg \2\x0F\xEB\110 PENT,MMX PREFETCH mem \2\x0F\x0D\200 PENT,3DNOW,SM PREFETCHW mem \2\x0F\x0D\201 PENT,3DNOW,SM +PREFETCHNTA mem \2\x0F\x18\200 X64,AMD,SM +PREFETCHT0 mem \2\x0F\x18\200 X64,AMD,SM +PREFETCHT1 mem \2\x0F\x18\201 X64,AMD,SM +PREFETCHT2 mem \2\x0F\x18\202 X64,AMD,SM PSLLD mmxreg,mem \301\2\x0F\xF2\110 PENT,MMX,SM PSLLD mmxreg,mmxreg \2\x0F\xF2\110 PENT,MMX PSLLD mmxreg,imm \2\x0F\x72\206\25 PENT,MMX @@ -838,22 +990,26 @@ PUNPCKLDQ mmxreg,mmxreg \2\x0F\x62\110 PENT,MMX PUNPCKLWD mmxreg,mem \301\2\x0F\x61\110 PENT,MMX,SM PUNPCKLWD mmxreg,mmxreg \2\x0F\x61\110 PENT,MMX PUSH reg16 \320\10\x50 8086 -PUSH reg32 \321\10\x50 386 +PUSH reg32 \321\10\x50 386,NOLONG +PUSH reg64 \323\10\x50 X64 PUSH rm16 \320\300\1\xFF\206 8086 -PUSH rm32 \321\300\1\xFF\206 386 -PUSH reg_cs \6 8086 -PUSH reg_dess \6 8086 +PUSH rm32 \321\300\1\xFF\206 386,NOLONG +PUSH rm64 \323\300\1\xFF\206 X64 +PUSH reg_cs \6 8086,NOLONG +PUSH reg_dess \6 8086,NOLONG PUSH reg_fsgs \1\x0F\7 386 PUSH imm8 \1\x6A\14 186 PUSH sbyte \1\x6A\14 186,ND PUSH imm16 \320\133\1\x68\130 186 -PUSH imm32 \321\143\1\x68\140 386 +PUSH imm32 \321\143\1\x68\140 386,NOLONG +PUSH imm64 \321\143\1\x68\140 X64 PUSH imm \1\x68\34 186 -PUSHA void \322\1\x60 186 -PUSHAD void \321\1\x60 386 -PUSHAW void \320\1\x60 186 +PUSHA void \322\1\x60 186,NOLONG +PUSHAD void \321\1\x60 386,NOLONG +PUSHAW void \320\1\x60 186,NOLONG PUSHF void \322\1\x9C 8086 -PUSHFD void \321\1\x9C 386 +PUSHFD void \321\1\x9C 386,NOLONG +PUSHFQ void \321\1\x9C X64 PUSHFW void \320\1\x9C 8086 PXOR mmxreg,mem \301\2\x0F\xEF\110 PENT,MMX,SM PXOR mmxreg,mmxreg \2\x0F\xEF\110 PENT,MMX @@ -866,6 +1022,9 @@ RCL rm16,imm \320\300\1\xC1\202\25 186,SB RCL rm32,unity \321\300\1\xD1\202 386 RCL rm32,reg_cl \321\300\1\xD3\202 386 RCL rm32,imm \321\300\1\xC1\202\25 386,SB +RCL rm64,unity \321\300\1\xD1\202 X64 +RCL rm64,reg_cl \321\300\1\xD3\202 X64 +RCL rm64,imm \321\300\1\xC1\202\25 X64,SB RCR rm8,unity \300\1\xD0\203 8086 RCR rm8,reg_cl \300\1\xD2\203 8086 RCR rm8,imm \300\1\xC0\203\25 186,SB @@ -875,10 +1034,14 @@ RCR rm16,imm \320\300\1\xC1\203\25 186,SB RCR rm32,unity \321\300\1\xD1\203 386 RCR rm32,reg_cl \321\300\1\xD3\203 386 RCR rm32,imm \321\300\1\xC1\203\25 386,SB +RCR rm64,unity \321\300\1\xD1\203 X64 +RCR rm64,reg_cl \321\300\1\xD3\203 X64 +RCR rm64,imm \321\300\1\xC1\203\25 X64,SB RDSHR rm32 \321\300\2\x0F\x36\200 P6,CYRIX,SMM RDMSR void \2\x0F\x32 PENT,PRIV RDPMC void \2\x0F\x33 P6 RDTSC void \2\x0F\x31 PENT +RDTSCP void \3\x0F\x01\xF9 X64 RESB imm \340 8086 RESD ignore ignore ignore RESQ ignore ignore ignore @@ -899,6 +1062,9 @@ ROL rm16,imm \320\300\1\xC1\200\25 186,SB ROL rm32,unity \321\300\1\xD1\200 386 ROL rm32,reg_cl \321\300\1\xD3\200 386 ROL rm32,imm \321\300\1\xC1\200\25 386,SB +ROL rm64,unity \321\300\1\xD1\200 X64 +ROL rm64,reg_cl \321\300\1\xD3\200 X64 +ROL rm64,imm \321\300\1\xC1\200\25 X64,SB ROR rm8,unity \300\1\xD0\201 8086 ROR rm8,reg_cl \300\1\xD2\201 8086 ROR rm8,imm \300\1\xC0\201\25 186,SB @@ -908,6 +1074,9 @@ ROR rm16,imm \320\300\1\xC1\201\25 186,SB ROR rm32,unity \321\300\1\xD1\201 386 ROR rm32,reg_cl \321\300\1\xD3\201 386 ROR rm32,imm \321\300\1\xC1\201\25 386,SB +ROR rm64,unity \321\300\1\xD1\201 X64 +ROR rm64,reg_cl \321\300\1\xD3\201 X64 +ROR rm64,imm \321\300\1\xC1\201\25 X64,SB RSDC reg_sreg,mem80 \301\2\x0F\x79\110 486,CYRIX,SMM RSLDT mem80 \300\2\x0F\x7B\200 486,CYRIX,SMM RSM void \2\x0F\xAA PENT,SMM @@ -922,6 +1091,9 @@ SAL rm16,imm \320\300\1\xC1\204\25 186,ND,SB SAL rm32,unity \321\300\1\xD1\204 386,ND SAL rm32,reg_cl \321\300\1\xD3\204 386,ND SAL rm32,imm \321\300\1\xC1\204\25 386,ND,SB +SAL rm64,unity \321\300\1\xD1\204 X64,ND +SAL rm64,reg_cl \321\300\1\xD3\204 X64,ND +SAL rm64,imm \321\300\1\xC1\204\25 X64,ND,SB SALC void \1\xD6 8086,UNDOC SAR rm8,unity \300\1\xD0\207 8086 SAR rm8,reg_cl \300\1\xD2\207 8086 @@ -932,34 +1104,47 @@ SAR rm16,imm \320\300\1\xC1\207\25 186,SB SAR rm32,unity \321\300\1\xD1\207 386 SAR rm32,reg_cl \321\300\1\xD3\207 386 SAR rm32,imm \321\300\1\xC1\207\25 386,SB +SAR rm64,unity \321\300\1\xD1\207 X64 +SAR rm64,reg_cl \321\300\1\xD3\207 X64 +SAR rm64,imm \321\300\1\xC1\207\25 X64,SB SBB mem,reg8 \300\1\x18\101 8086,SM SBB reg8,reg8 \1\x18\101 8086 SBB mem,reg16 \320\300\1\x19\101 8086,SM SBB reg16,reg16 \320\1\x19\101 8086 SBB mem,reg32 \321\300\1\x19\101 386,SM SBB reg32,reg32 \321\1\x19\101 386 +SBB mem,reg64 \321\300\1\x19\101 X64,SM +SBB reg64,reg64 \321\1\x19\101 X64 SBB reg8,mem \301\1\x1A\110 8086,SM SBB reg8,reg8 \1\x1A\110 8086 SBB reg16,mem \320\301\1\x1B\110 8086,SM SBB reg16,reg16 \320\1\x1B\110 8086 SBB reg32,mem \321\301\1\x1B\110 386,SM SBB reg32,reg32 \321\1\x1B\110 386 +SBB reg64,mem \321\301\1\x1B\110 X64,SM +SBB reg64,reg64 \321\1\x1B\110 X64 SBB rm16,imm8 \320\300\1\x83\203\15 8086 SBB rm32,imm8 \321\300\1\x83\203\15 386 +SBB rm64,imm8 \321\300\1\x83\203\15 X64 SBB reg_al,imm \1\x1C\21 8086,SM SBB reg_ax,sbyte \320\1\x83\203\15 8086,SM,ND SBB reg_ax,imm \320\1\x1D\31 8086,SM SBB reg_eax,sbyte \321\1\x83\203\15 386,SM,ND SBB reg_eax,imm \321\1\x1D\41 386,SM +SBB reg_rax,sbyte \321\1\x83\203\15 X64,SM,ND +SBB reg_rax,imm \321\1\x1D\41 X64,SM SBB rm8,imm \300\1\x80\203\21 8086,SM SBB rm16,imm \320\300\134\1\x81\203\131 8086,SM SBB rm32,imm \321\300\144\1\x81\203\141 386,SM +SBB rm64,imm \321\300\144\1\x81\203\141 X64,SM SBB mem,imm8 \300\1\x80\203\21 8086,SM SBB mem,imm16 \320\300\134\1\x81\203\131 8086,SM SBB mem,imm32 \321\300\144\1\x81\203\141 386,SM SCASB void \332\1\xAE 8086 SCASD void \332\321\1\xAF 386 +SCASQ void \332\324\1\xAF X64 SCASW void \332\320\1\xAF 8086 +SFENCE void \3\x0F\xAE\xF8 X64,AMD SGDT mem \300\2\x0F\x01\200 286 SHL rm8,unity \300\1\xD0\204 8086 SHL rm8,reg_cl \300\1\xD2\204 8086 @@ -970,14 +1155,21 @@ SHL rm16,imm \320\300\1\xC1\204\25 186,SB SHL rm32,unity \321\300\1\xD1\204 386 SHL rm32,reg_cl \321\300\1\xD3\204 386 SHL rm32,imm \321\300\1\xC1\204\25 386,SB +SHL rm64,unity \321\300\1\xD1\204 X64 +SHL rm64,reg_cl \321\300\1\xD3\204 X64 +SHL rm64,imm \321\300\1\xC1\204\25 X64,SB SHLD mem,reg16,imm \300\320\2\x0F\xA4\101\26 386,SM2,SB,AR2 SHLD reg16,reg16,imm \320\2\x0F\xA4\101\26 386,SM2,SB,AR2 SHLD mem,reg32,imm \300\321\2\x0F\xA4\101\26 386,SM2,SB,AR2 SHLD reg32,reg32,imm \321\2\x0F\xA4\101\26 386,SM2,SB,AR2 +SHLD mem,reg64,imm \300\321\2\x0F\xA4\101\26 X64,SM2,SB,AR2 +SHLD reg64,reg64,imm \321\2\x0F\xA4\101\26 X64,SM2,SB,AR2 SHLD mem,reg16,reg_cl \300\320\2\x0F\xA5\101 386,SM SHLD reg16,reg16,reg_cl \320\2\x0F\xA5\101 386 SHLD mem,reg32,reg_cl \300\321\2\x0F\xA5\101 386,SM SHLD reg32,reg32,reg_cl \321\2\x0F\xA5\101 386 +SHLD mem,reg64,reg_cl \300\321\2\x0F\xA5\101 X64,SM +SHLD reg64,reg64,reg_cl \321\2\x0F\xA5\101 X64 SHR rm8,unity \300\1\xD0\205 8086 SHR rm8,reg_cl \300\1\xD2\205 8086 SHR rm8,imm \300\1\xC0\205\25 186,SB @@ -987,19 +1179,27 @@ SHR rm16,imm \320\300\1\xC1\205\25 186,SB SHR rm32,unity \321\300\1\xD1\205 386 SHR rm32,reg_cl \321\300\1\xD3\205 386 SHR rm32,imm \321\300\1\xC1\205\25 386,SB +SHR rm64,unity \321\300\1\xD1\205 X64 +SHR rm64,reg_cl \321\300\1\xD3\205 X64 +SHR rm64,imm \321\300\1\xC1\205\25 X64,SB SHRD mem,reg16,imm \300\320\2\x0F\xAC\101\26 386,SM2,SB,AR2 SHRD reg16,reg16,imm \320\2\x0F\xAC\101\26 386,SM2,SB,AR2 SHRD mem,reg32,imm \300\321\2\x0F\xAC\101\26 386,SM2,SB,AR2 SHRD reg32,reg32,imm \321\2\x0F\xAC\101\26 386,SM2,SB,AR2 +SHRD mem,reg64,imm \300\321\2\x0F\xAC\101\26 X64,SM2,SB,AR2 +SHRD reg64,reg64,imm \321\2\x0F\xAC\101\26 X64,SM2,SB,AR2 SHRD mem,reg16,reg_cl \300\320\2\x0F\xAD\101 386,SM SHRD reg16,reg16,reg_cl \320\2\x0F\xAD\101 386 SHRD mem,reg32,reg_cl \300\321\2\x0F\xAD\101 386,SM SHRD reg32,reg32,reg_cl \321\2\x0F\xAD\101 386 +SHRD mem,reg64,reg_cl \300\321\2\x0F\xAD\101 X64,SM +SHRD reg64,reg64,reg_cl \321\2\x0F\xAD\101 X64 SIDT mem \300\2\x0F\x01\201 286 SLDT mem \300\1\x0F\17\200 286 SLDT mem16 \300\1\x0F\17\200 286 SLDT reg16 \320\1\x0F\17\200 286 SLDT reg32 \321\1\x0F\17\200 386 +SKINIT void \3\x0F\x01\xDE X64 SMI void \1\xF1 386,UNDOC SMINT void \2\x0F\x38 P6,CYRIX ; Older Cyrix chips had this; they had to move due to conflict with MMX @@ -1010,42 +1210,54 @@ SMSW reg16 \320\2\x0F\x01\204 286 SMSW reg32 \321\2\x0F\x01\204 386 STC void \1\xF9 8086 STD void \1\xFD 8086 +STGI void \3\x0F\x01\xDC X64 STI void \1\xFB 8086 STOSB void \1\xAA 8086 STOSD void \321\1\xAB 386 +STOSQ void \324\1\xAB X64 STOSW void \320\1\xAB 8086 STR mem \300\1\x0F\17\201 286,PROT STR mem16 \300\1\x0F\17\201 286,PROT STR reg16 \320\1\x0F\17\201 286,PROT STR reg32 \321\1\x0F\17\201 386,PROT +STR reg64 \321\1\x0F\17\201 X64 SUB mem,reg8 \300\1\x28\101 8086,SM SUB reg8,reg8 \1\x28\101 8086 SUB mem,reg16 \320\300\1\x29\101 8086,SM SUB reg16,reg16 \320\1\x29\101 8086 SUB mem,reg32 \321\300\1\x29\101 386,SM SUB reg32,reg32 \321\1\x29\101 386 +SUB mem,reg64 \321\300\1\x29\101 X64,SM +SUB reg64,reg64 \321\1\x29\101 X64 SUB reg8,mem \301\1\x2A\110 8086,SM SUB reg8,reg8 \1\x2A\110 8086 SUB reg16,mem \320\301\1\x2B\110 8086,SM SUB reg16,reg16 \320\1\x2B\110 8086 SUB reg32,mem \321\301\1\x2B\110 386,SM SUB reg32,reg32 \321\1\x2B\110 386 +SUB reg64,mem \321\301\1\x2B\110 X64,SM +SUB reg64,reg64 \321\1\x2B\110 X64 SUB rm16,imm8 \320\300\1\x83\205\15 8086 SUB rm32,imm8 \321\300\1\x83\205\15 386 +SUB rm64,imm8 \321\300\1\x83\205\15 X64 SUB reg_al,imm \1\x2C\21 8086,SM SUB reg_ax,sbyte \320\1\x83\205\15 8086,SM,ND SUB reg_ax,imm \320\1\x2D\31 8086,SM SUB reg_eax,sbyte \321\1\x83\205\15 386,SM,ND SUB reg_eax,imm \321\1\x2D\41 386,SM +SUB reg_rax,sbyte \321\1\x83\205\15 X64,SM,ND +SUB reg_rax,imm \321\1\x2D\41 X64,SM SUB rm8,imm \300\1\x80\205\21 8086,SM SUB rm16,imm \320\300\134\1\x81\205\131 8086,SM SUB rm32,imm \321\300\144\1\x81\205\141 386,SM +SUB rm64,imm \321\300\144\1\x81\205\141 X64,SM SUB mem,imm8 \300\1\x80\205\21 8086,SM SUB mem,imm16 \320\300\134\1\x81\205\131 8086,SM SUB mem,imm32 \321\300\144\1\x81\205\141 386,SM SVDC mem80,reg_sreg \300\2\x0F\x78\101 486,CYRIX,SMM SVLDT mem80 \300\2\x0F\x7A\200 486,CYRIX,SMM SVTS mem80 \300\2\x0F\x7C\200 486,CYRIX,SMM +SWAPGS void \3\x0F\x01\xF8 X64 SYSCALL void \2\x0F\x05 P6,AMD SYSENTER void \2\x0F\x34 P6 SYSEXIT void \2\x0F\x35 P6,PRIV @@ -1056,15 +1268,20 @@ TEST mem,reg16 \320\300\1\x85\101 8086,SM TEST reg16,reg16 \320\1\x85\101 8086 TEST mem,reg32 \321\300\1\x85\101 386,SM TEST reg32,reg32 \321\1\x85\101 386 +TEST mem,reg64 \321\300\1\x85\101 X64,SM +TEST reg64,reg64 \321\1\x85\101 X64 TEST reg8,mem \301\1\x84\110 8086,SM TEST reg16,mem \320\301\1\x85\110 8086,SM TEST reg32,mem \321\301\1\x85\110 386,SM +TEST reg64,mem \321\301\1\x85\110 X64,SM TEST reg_al,imm \1\xA8\21 8086,SM TEST reg_ax,imm \320\1\xA9\31 8086,SM TEST reg_eax,imm \321\1\xA9\41 386,SM +TEST reg_rax,imm \321\1\xA9\41 X64,SM TEST rm8,imm \300\1\xF6\200\21 8086,SM TEST rm16,imm \320\300\1\xF7\200\31 8086,SM TEST rm32,imm \321\300\1\xF7\200\41 386,SM +TEST rm64,imm \321\300\1\xF7\200\41 X64,SM TEST mem,imm8 \300\1\xF6\200\21 8086,SM TEST mem,imm16 \320\300\1\xF7\200\31 8086,SM TEST mem,imm32 \321\300\1\xF7\200\41 386,SM @@ -1100,26 +1317,33 @@ XADD mem,reg16 \320\300\2\x0F\xC1\101 486,SM XADD reg16,reg16 \320\2\x0F\xC1\101 486 XADD mem,reg32 \321\300\2\x0F\xC1\101 486,SM XADD reg32,reg32 \321\2\x0F\xC1\101 486 +XADD mem,reg64 \321\300\2\x0F\xC1\101 X64,SM +XADD reg64,reg64 \321\2\x0F\xC1\101 X64 XBTS reg16,mem \320\301\2\x0F\xA6\110 386,SW,UNDOC,ND XBTS reg16,reg16 \320\2\x0F\xA6\110 386,UNDOC,ND XBTS reg32,mem \321\301\2\x0F\xA6\110 386,SD,UNDOC,ND XBTS reg32,reg32 \321\2\x0F\xA6\110 386,UNDOC,ND -XCHG reg_ax,reg16 \320\11\x90 8086 -XCHG reg_eax,reg32 \321\11\x90 386 -XCHG reg16,reg_ax \320\10\x90 8086 -XCHG reg32,reg_eax \321\10\x90 386 +XCHG reg_ax,reg16 \320\11\x90 8086,NOLONG +XCHG reg_eax,reg32 \321\11\x90 386,NOLONG +XCHG reg16,reg_ax \320\10\x90 8086,NOLONG +XCHG reg32,reg_eax \321\10\x90 386,NOLONG +XCHG reg_rax,reg_rax \321\11\x90 X64 XCHG reg8,mem \301\1\x86\110 8086,SM XCHG reg8,reg8 \1\x86\110 8086 XCHG reg16,mem \320\301\1\x87\110 8086,SM XCHG reg16,reg16 \320\1\x87\110 8086 XCHG reg32,mem \321\301\1\x87\110 386,SM XCHG reg32,reg32 \321\1\x87\110 386 +XCHG reg64,mem \321\301\1\x87\110 X64,SM +XCHG reg64,reg64 \321\1\x87\110 X64 XCHG mem,reg8 \300\1\x86\101 8086,SM XCHG reg8,reg8 \1\x86\101 8086 XCHG mem,reg16 \320\300\1\x87\101 8086,SM XCHG reg16,reg16 \320\1\x87\101 8086 XCHG mem,reg32 \321\300\1\x87\101 386,SM XCHG reg32,reg32 \321\1\x87\101 386 +XCHG mem,reg64 \321\300\1\x87\101 X64,SM +XCHG reg64,reg64 \321\1\x87\101 X64 XLATB void \1\xD7 8086 XLAT void \1\xD7 8086 XOR mem,reg8 \300\1\x30\101 8086,SM @@ -1128,22 +1352,30 @@ XOR mem,reg16 \320\300\1\x31\101 8086,SM XOR reg16,reg16 \320\1\x31\101 8086 XOR mem,reg32 \321\300\1\x31\101 386,SM XOR reg32,reg32 \321\1\x31\101 386 +XOR mem,reg64 \321\300\1\x31\101 X64,SM +XOR reg64,reg64 \321\1\x31\101 X64 XOR reg8,mem \301\1\x32\110 8086,SM XOR reg8,reg8 \1\x32\110 8086 XOR reg16,mem \320\301\1\x33\110 8086,SM XOR reg16,reg16 \320\1\x33\110 8086 XOR reg32,mem \321\301\1\x33\110 386,SM XOR reg32,reg32 \321\1\x33\110 386 +XOR reg64,mem \321\301\1\x33\110 X64,SM +XOR reg64,reg64 \321\1\x33\110 X64 XOR rm16,imm8 \320\300\1\x83\206\15 8086 XOR rm32,imm8 \321\300\1\x83\206\15 386 +XOR rm64,imm8 \321\300\1\x83\206\15 X64 XOR reg_al,imm \1\x34\21 8086,SM XOR reg_ax,sbyte \320\1\x83\206\15 8086,SM,ND XOR reg_ax,imm \320\1\x35\31 8086,SM XOR reg_eax,sbyte \321\1\x83\206\15 386,SM,ND XOR reg_eax,imm \321\1\x35\41 386,SM +XOR reg_rax,sbyte \321\1\x83\206\15 X64,SM,ND +XOR reg_rax,imm \321\1\x35\41 X64,SM XOR rm8,imm \300\1\x80\206\21 8086,SM XOR rm16,imm \320\300\134\1\x81\206\131 8086,SM XOR rm32,imm \321\300\144\1\x81\206\141 386,SM +XOR rm64,imm \321\300\144\1\x81\206\141 X64,SM XOR mem,imm8 \300\1\x80\206\21 8086,SM XOR mem,imm16 \320\300\134\1\x81\206\131 8086,SM XOR mem,imm32 \321\300\144\1\x81\206\141 386,SM @@ -1152,6 +1384,8 @@ CMOVcc reg16,mem \320\301\1\x0F\330\x40\110 P6,SM CMOVcc reg16,reg16 \320\1\x0F\330\x40\110 P6 CMOVcc reg32,mem \321\301\1\x0F\330\x40\110 P6,SM CMOVcc reg32,reg32 \321\1\x0F\330\x40\110 P6 +CMOVcc reg64,mem \321\301\1\x0F\330\x40\110 X64,SM +CMOVcc reg64,reg64 \321\1\x0F\330\x40\110 X64 Jcc imm|near \322\1\x0F\330\x80\64 386 Jcc imm16|near \320\1\x0F\330\x80\64 386 Jcc imm32|near \321\1\x0F\330\x80\64 386 @@ -1678,12 +1912,17 @@ MOVSLDUP xmmreg,xmmreg \3\xF3\x0F\x12\110 PRESCOTT,SSE3 VMCALL void \3\x0F\x01\xC1 VMX VMCLEAR mem \3\x66\x0F\xC7\206 VMX VMLAUNCH void \3\x0F\x01\xC2 VMX +VMLOAD void \3\x0F\x01\xDA X64,VMX +VMMCALL void \3\x0F\x01\xD9 X64,VMX VMPTRLD mem \2\x0F\xC7\206 VMX VMPTRST mem \2\x0F\xC7\207 VMX VMREAD mem,reg32 \2\x0F\x78\101 VMX VMREAD reg32,reg32 \2\x0F\x78\101 VMX VMRESUME void \3\x0F\x01\xC3 VMX +VMRUN void \3\x0F\x01\xD8 X64,VMX +VMSAVE void \3\x0F\x01\xDB X64,VMX VMWRITE reg32,mem \2\x0F\x79\110 VMX VMWRITE reg32,reg32 \2\x0F\x79\110 VMX VMXOFF void \3\x0F\x01\xC4 VMX VMXON mem \3\xF3\x0F\xC7\206 VMX + |