summaryrefslogtreecommitdiff
path: root/opcodes
diff options
context:
space:
mode:
authorH.J. Lu <hjl@lucon.org>2005-01-12 19:12:52 +0000
committerH.J. Lu <hjl@lucon.org>2005-01-12 19:12:52 +0000
commitddab249dc12232cc69e80afa2d1918d41a3f2468 (patch)
treef0e7e5dc802095c761aeb079f30b83c6cddec361 /opcodes
parent213892b33187794dbbf1550c24688112f69c9cf5 (diff)
downloadgdb-ddab249dc12232cc69e80afa2d1918d41a3f2468.tar.gz
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 2effaf30654..1b9fc940e04 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 b5cc638f096..c24c6561e1a 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);