aboutsummaryrefslogtreecommitdiff
path: root/opcodes/i386-dis.c
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2005-01-12 19:12:52 +0000
committerH.J. Lu <hjl.tools@gmail.com>2005-01-12 19:12:52 +0000
commit2033b4b97d6b5205608dd5313a4c352b17036544 (patch)
tree36c6b42d44f318934773c7b012e03e19664ed415 /opcodes/i386-dis.c
parentdb5f402d40beac21d890e4b0b8ec85c17ec4c562 (diff)
downloadfsf-binutils-gdb-2033b4b97d6b5205608dd5313a4c352b17036544.zip
fsf-binutils-gdb-2033b4b97d6b5205608dd5313a4c352b17036544.tar.gz
fsf-binutils-gdb-2033b4b97d6b5205608dd5313a4c352b17036544.tar.bz2
gas/testsuite/
2005-01-12 H.J. Lu <hongjiu.lu@intel.com> * i386/i386.exp: Run "sib". * gas/i386/sib.d: New file. * gas/i386/sib.s: Likewise. opcodes/ 2005-01-12 H.J. Lu <hongjiu.lu@intel.com> * i386-dis.c (OP_E): Ignore scale when index == 0x4 in SIB.
Diffstat (limited to 'opcodes/i386-dis.c')
-rw-r--r--opcodes/i386-dis.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c
index b5cc638..c24c656 100644
--- a/opcodes/i386-dis.c
+++ b/opcodes/i386-dis.c
@@ -3191,8 +3191,10 @@ OP_E (int bytemode, int sizeflag)
{
havesib = 1;
FETCH_DATA (the_info, codep + 1);
- scale = (*codep >> 6) & 3;
index = (*codep >> 3) & 7;
+ if (index != 0x4)
+ /* When INDEX == 0x4, scale is ignored. */
+ scale = (*codep >> 6) & 3;
base = *codep & 7;
USED_REX (REX_EXTY);
USED_REX (REX_EXTZ);