From d6f574e0edeebc51588a33b7461e35425fef8925 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Fri, 27 Feb 2009 20:13:04 +0000 Subject: [PATCH] 2009-02-27 H.J. Lu * i386-dis.c (OP_EX): Call OP_E_memory instead of OP_E. --- opcodes/ChangeLog | 4 ++++ opcodes/i386-dis.c | 11 +++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index ce7b57a..ca35ba7 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,7 @@ +2009-02-27 H.J. Lu + + * i386-dis.c (OP_EX): Call OP_E_memory instead of OP_E. + 2009-02-26 Peter Bergner * ppc-dis.c (powerpc_init_dialect): Extend -Mpower7 to disassemble 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) -- 2.7.4