aboutsummaryrefslogtreecommitdiff
path: root/opcodes/i386-dis.c
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2009-02-27 20:13:04 +0000
committerH.J. Lu <hjl.tools@gmail.com>2009-02-27 20:13:04 +0000
commitd6f574e0edeebc51588a33b7461e35425fef8925 (patch)
treef2cba268905b2d005e1ff691c417f1e613255fec /opcodes/i386-dis.c
parent0602e05a845a545a8b52386a4dec66b74a158bc7 (diff)
downloadfsf-binutils-gdb-d6f574e0edeebc51588a33b7461e35425fef8925.zip
fsf-binutils-gdb-d6f574e0edeebc51588a33b7461e35425fef8925.tar.gz
fsf-binutils-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.c11
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)