aboutsummaryrefslogtreecommitdiff
path: root/opcodes/i386-dis.c
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2006-11-10 03:54:11 +0000
committerH.J. Lu <hjl.tools@gmail.com>2006-11-10 03:54:11 +0000
commitd81afd0c0072f7fc79852573668c97c32dcb8323 (patch)
tree3f9cc42032c074e5c25d9cf4592038c52ca8dce2 /opcodes/i386-dis.c
parenteec0f4ca4c0c5a5e00e23b9930bd477142b5478a (diff)
downloadgdb-d81afd0c0072f7fc79852573668c97c32dcb8323.zip
gdb-d81afd0c0072f7fc79852573668c97c32dcb8323.tar.gz
gdb-d81afd0c0072f7fc79852573668c97c32dcb8323.tar.bz2
2006-11-09 H.J. Lu <hongjiu.lu@intel.com>
* i386-dis.c (print_insn): Check PREFIX_REPNZ before PREFIX_DATA when prefix user table is used.
Diffstat (limited to 'opcodes/i386-dis.c')
-rw-r--r--opcodes/i386-dis.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c
index 0da2446..caac903 100644
--- a/opcodes/i386-dis.c
+++ b/opcodes/i386-dis.c
@@ -3139,14 +3139,16 @@ print_insn (bfd_vma pc, disassemble_info *info)
index = 1;
else
{
- used_prefixes |= (prefixes & PREFIX_DATA);
- if (prefixes & PREFIX_DATA)
- index = 2;
+ /* We should check PREFIX_REPNZ and PREFIX_REPZ
+ before PREFIX_DATA. */
+ used_prefixes |= (prefixes & PREFIX_REPNZ);
+ if (prefixes & PREFIX_REPNZ)
+ index = 3;
else
{
- used_prefixes |= (prefixes & PREFIX_REPNZ);
- if (prefixes & PREFIX_REPNZ)
- index = 3;
+ used_prefixes |= (prefixes & PREFIX_DATA);
+ if (prefixes & PREFIX_DATA)
+ index = 2;
}
}
dp = &prefix_user_table[dp->bytemode2][index];