According to AMD docs opcodes 0f 19...0f 1f are multibyte NOP
This commit is contained in:
parent
d9e58bd598
commit
033150c7e6
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: dis_decode.cc,v 1.41 2007-10-20 10:56:44 sshwarts Exp $
|
||||
// $Id: dis_decode.cc,v 1.42 2007-11-17 16:19:14 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include <stdio.h>
|
||||
@ -34,7 +34,7 @@ static const unsigned char instruction_has_modrm[512] = {
|
||||
/* 0 1 2 3 4 5 6 7 8 9 a b c d e f */
|
||||
/* ------------------------------- */
|
||||
1,1,1,1,0,0,0,0,0,0,0,0,0,1,0,1, /* 0F 00 */
|
||||
1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1, /* 0F 10 */
|
||||
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* 0F 10 */
|
||||
1,1,1,1,1,0,1,0,1,1,1,1,1,1,1,1, /* 0F 20 */
|
||||
0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0, /* 0F 30 */
|
||||
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* 0F 40 */
|
||||
|
@ -3430,12 +3430,12 @@ static BxDisasmOpcodeTable_t BxDisasmOpcodes16[256*2] = {
|
||||
/* 0F 16 */ { GRPSSE(0f16) },
|
||||
/* 0F 17 */ { GRPSSE(0f17) },
|
||||
/* 0F 18 */ { GRPN(G16) },
|
||||
/* 0F 19 */ { 0, &Ia_Invalid },
|
||||
/* 0F 1A */ { 0, &Ia_Invalid },
|
||||
/* 0F 1B */ { 0, &Ia_Invalid },
|
||||
/* 0F 1C */ { 0, &Ia_Invalid },
|
||||
/* 0F 1D */ { 0, &Ia_Invalid },
|
||||
/* 0F 1E */ { 0, &Ia_Invalid },
|
||||
/* 0F 19 */ { 0, &Ia_multibyte_nop },
|
||||
/* 0F 1A */ { 0, &Ia_multibyte_nop },
|
||||
/* 0F 1B */ { 0, &Ia_multibyte_nop },
|
||||
/* 0F 1C */ { 0, &Ia_multibyte_nop },
|
||||
/* 0F 1D */ { 0, &Ia_multibyte_nop },
|
||||
/* 0F 1E */ { 0, &Ia_multibyte_nop },
|
||||
/* 0F 1F */ { 0, &Ia_multibyte_nop },
|
||||
/* 0F 20 */ { 0, &Ia_movl_Rd_Cd },
|
||||
/* 0F 21 */ { 0, &Ia_movl_Rd_Dd },
|
||||
@ -3951,12 +3951,12 @@ static BxDisasmOpcodeTable_t BxDisasmOpcodes32[256*2] = {
|
||||
/* 0F 16 */ { GRPSSE(0f16) },
|
||||
/* 0F 17 */ { GRPSSE(0f17) },
|
||||
/* 0F 18 */ { GRPN(G16) },
|
||||
/* 0F 19 */ { 0, &Ia_Invalid },
|
||||
/* 0F 1A */ { 0, &Ia_Invalid },
|
||||
/* 0F 1B */ { 0, &Ia_Invalid },
|
||||
/* 0F 1C */ { 0, &Ia_Invalid },
|
||||
/* 0F 1D */ { 0, &Ia_Invalid },
|
||||
/* 0F 1E */ { 0, &Ia_Invalid },
|
||||
/* 0F 19 */ { 0, &Ia_multibyte_nop },
|
||||
/* 0F 1A */ { 0, &Ia_multibyte_nop },
|
||||
/* 0F 1B */ { 0, &Ia_multibyte_nop },
|
||||
/* 0F 1C */ { 0, &Ia_multibyte_nop },
|
||||
/* 0F 1D */ { 0, &Ia_multibyte_nop },
|
||||
/* 0F 1E */ { 0, &Ia_multibyte_nop },
|
||||
/* 0F 1F */ { 0, &Ia_multibyte_nop },
|
||||
/* 0F 20 */ { 0, &Ia_movl_Rd_Cd },
|
||||
/* 0F 21 */ { 0, &Ia_movl_Rd_Dd },
|
||||
@ -4472,12 +4472,12 @@ static BxDisasmOpcodeTable_t BxDisasmOpcodes64w[256*2] = {
|
||||
/* 0F 16 */ { GRPSSE(0f16) },
|
||||
/* 0F 17 */ { GRPSSE(0f17) },
|
||||
/* 0F 18 */ { GRPN(G16) },
|
||||
/* 0F 19 */ { 0, &Ia_Invalid },
|
||||
/* 0F 1A */ { 0, &Ia_Invalid },
|
||||
/* 0F 1B */ { 0, &Ia_Invalid },
|
||||
/* 0F 1C */ { 0, &Ia_Invalid },
|
||||
/* 0F 1D */ { 0, &Ia_Invalid },
|
||||
/* 0F 1E */ { 0, &Ia_Invalid },
|
||||
/* 0F 19 */ { 0, &Ia_multibyte_nop },
|
||||
/* 0F 1A */ { 0, &Ia_multibyte_nop },
|
||||
/* 0F 1B */ { 0, &Ia_multibyte_nop },
|
||||
/* 0F 1C */ { 0, &Ia_multibyte_nop },
|
||||
/* 0F 1D */ { 0, &Ia_multibyte_nop },
|
||||
/* 0F 1E */ { 0, &Ia_multibyte_nop },
|
||||
/* 0F 1F */ { 0, &Ia_multibyte_nop },
|
||||
/* 0F 20 */ { 0, &Ia_movq_Rq_Cq },
|
||||
/* 0F 21 */ { 0, &Ia_movq_Rq_Dq },
|
||||
@ -4990,12 +4990,12 @@ static BxDisasmOpcodeTable_t BxDisasmOpcodes64d[256*2] = {
|
||||
/* 0F 16 */ { GRPSSE(0f16) },
|
||||
/* 0F 17 */ { GRPSSE(0f17) },
|
||||
/* 0F 18 */ { GRPN(G16) },
|
||||
/* 0F 19 */ { 0, &Ia_Invalid },
|
||||
/* 0F 1A */ { 0, &Ia_Invalid },
|
||||
/* 0F 1B */ { 0, &Ia_Invalid },
|
||||
/* 0F 1C */ { 0, &Ia_Invalid },
|
||||
/* 0F 1D */ { 0, &Ia_Invalid },
|
||||
/* 0F 1E */ { 0, &Ia_Invalid },
|
||||
/* 0F 19 */ { 0, &Ia_multibyte_nop },
|
||||
/* 0F 1A */ { 0, &Ia_multibyte_nop },
|
||||
/* 0F 1B */ { 0, &Ia_multibyte_nop },
|
||||
/* 0F 1C */ { 0, &Ia_multibyte_nop },
|
||||
/* 0F 1D */ { 0, &Ia_multibyte_nop },
|
||||
/* 0F 1E */ { 0, &Ia_multibyte_nop },
|
||||
/* 0F 1F */ { 0, &Ia_multibyte_nop },
|
||||
/* 0F 20 */ { 0, &Ia_movq_Rq_Cq },
|
||||
/* 0F 21 */ { 0, &Ia_movq_Rq_Dq },
|
||||
@ -5508,12 +5508,12 @@ static BxDisasmOpcodeTable_t BxDisasmOpcodes64q[256*2] = {
|
||||
/* 0F 16 */ { GRPSSE(0f16) },
|
||||
/* 0F 17 */ { GRPSSE(0f17) },
|
||||
/* 0F 18 */ { GRPN(G16) },
|
||||
/* 0F 19 */ { 0, &Ia_Invalid },
|
||||
/* 0F 1A */ { 0, &Ia_Invalid },
|
||||
/* 0F 1B */ { 0, &Ia_Invalid },
|
||||
/* 0F 1C */ { 0, &Ia_Invalid },
|
||||
/* 0F 1D */ { 0, &Ia_Invalid },
|
||||
/* 0F 1E */ { 0, &Ia_Invalid },
|
||||
/* 0F 19 */ { 0, &Ia_multibyte_nop },
|
||||
/* 0F 1A */ { 0, &Ia_multibyte_nop },
|
||||
/* 0F 1B */ { 0, &Ia_multibyte_nop },
|
||||
/* 0F 1C */ { 0, &Ia_multibyte_nop },
|
||||
/* 0F 1D */ { 0, &Ia_multibyte_nop },
|
||||
/* 0F 1E */ { 0, &Ia_multibyte_nop },
|
||||
/* 0F 1F */ { 0, &Ia_multibyte_nop },
|
||||
/* 0F 20 */ { 0, &Ia_movq_Rq_Cq },
|
||||
/* 0F 21 */ { 0, &Ia_movq_Rq_Dq },
|
||||
|
Loading…
x
Reference in New Issue
Block a user