diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2009-02-27 20:13:04 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2009-02-27 20:13:04 +0000 |
commit | d6f574e0edeebc51588a33b7461e35425fef8925 (patch) | |
tree | f2cba268905b2d005e1ff691c417f1e613255fec /opcodes/i386-dis.c | |
parent | 0602e05a845a545a8b52386a4dec66b74a158bc7 (diff) | |
download | gdb-d6f574e0edeebc51588a33b7461e35425fef8925.zip gdb-d6f574e0edeebc51588a33b7461e35425fef8925.tar.gz gdb-d6f574e0edeebc51588a33b7461e35425fef8925.tar.bz2 |
2009-02-27 H.J. Lu <hongjiu.lu@intel.com>
* i386-dis.c (OP_EX): Call OP_E_memory instead of OP_E.
Diffstat (limited to 'opcodes/i386-dis.c')
-rw-r--r-- | opcodes/i386-dis.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c index 83de1f7..2e44ed0 100644 --- a/opcodes/i386-dis.c +++ b/opcodes/i386-dis.c @@ -12676,11 +12676,17 @@ static void OP_EX (int bytemode, int sizeflag) { int add; + + /* Skip mod/rm byte. */ + MODRM_CHECK; + codep++; + if (modrm.mod != 3) { - OP_E (bytemode, sizeflag); + OP_E_memory (bytemode, sizeflag, 0); return; } + USED_REX (REX_B); if (rex & REX_B) add = 8; @@ -12693,9 +12699,6 @@ OP_EX (int bytemode, int sizeflag) || bytemode == q_swap_mode)) swap_operand (); - /* Skip mod/rm byte. */ - MODRM_CHECK; - codep++; if (need_vex && bytemode != xmm_mode && bytemode != xmmq_mode) |