aboutsummaryrefslogtreecommitdiff
path: root/opcodes/i386-dis.c
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2005-01-12 19:40:20 +0000
committerH.J. Lu <hjl.tools@gmail.com>2005-01-12 19:40:20 +0000
commit9df48ba9fdf995d2d8c082e568010e817ec684fe (patch)
treeeb70c86675889dda98730abdc2e53367daac17b4 /opcodes/i386-dis.c
parent2033b4b97d6b5205608dd5313a4c352b17036544 (diff)
downloadfsf-binutils-gdb-9df48ba9fdf995d2d8c082e568010e817ec684fe.zip
fsf-binutils-gdb-9df48ba9fdf995d2d8c082e568010e817ec684fe.tar.gz
fsf-binutils-gdb-9df48ba9fdf995d2d8c082e568010e817ec684fe.tar.bz2
2005-01-12 H.J. Lu <hongjiu.lu@intel.com>
* i386-dis.c (OP_E): Don't ignore scale in SIB for 64 bit mode.
Diffstat (limited to 'opcodes/i386-dis.c')
-rw-r--r--opcodes/i386-dis.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c
index c24c656..0e9ce49 100644
--- a/opcodes/i386-dis.c
+++ b/opcodes/i386-dis.c
@@ -3192,8 +3192,8 @@ OP_E (int bytemode, int sizeflag)
havesib = 1;
FETCH_DATA (the_info, codep + 1);
index = (*codep >> 3) & 7;
- if (index != 0x4)
- /* When INDEX == 0x4, scale is ignored. */
+ if (mode_64bit || index != 0x4)
+ /* When INDEX == 0x4 in 32 bit mode, SCALE is ignored. */
scale = (*codep >> 6) & 3;
base = *codep & 7;
USED_REX (REX_EXTY);