aboutsummaryrefslogtreecommitdiff
path: root/opcodes
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
parentdb5f402d40beac21d890e4b0b8ec85c17ec4c562 (diff)
downloadgdb-2033b4b97d6b5205608dd5313a4c352b17036544.zip
gdb-2033b4b97d6b5205608dd5313a4c352b17036544.tar.gz
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')
-rw-r--r--opcodes/ChangeLog4
-rw-r--r--opcodes/i386-dis.c4
2 files changed, 7 insertions, 1 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 2effaf3..1b9fc94 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,7 @@
+2005-01-12 H.J. Lu <hongjiu.lu@intel.com>
+
+ * i386-dis.c (OP_E): Ignore scale when index == 0x4 in SIB.
+
2005-01-10 Andreas Schwab <schwab@suse.de>
* disassemble.c (disassemble_init_for_target) <case
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);