|
From: <sv...@va...> - 2005-11-03 14:01:11
|
Author: sewardj
Date: 2005-11-03 14:00:57 +0000 (Thu, 03 Nov 2005)
New Revision: 1431
Log:
Handle any number of 0x66 (operand-size-override) prefixes.
Modified:
trunk/priv/guest-x86/toIR.c
Modified: trunk/priv/guest-x86/toIR.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/priv/guest-x86/toIR.c 2005-11-03 13:42:28 UTC (rev 1430)
+++ trunk/priv/guest-x86/toIR.c 2005-11-03 14:00:57 UTC (rev 1431)
@@ -7062,8 +7062,9 @@
delta++;
}
=20
- /* Detect operand-size overrides. */
- if (getIByte(delta) =3D=3D 0x66) { sz =3D 2; delta++; };
+ /* Detect operand-size overrides. It is possible for more than one
+ 0x66 to appear. */
+ while (getIByte(delta) =3D=3D 0x66) { sz =3D 2; delta++; };
=20
/* segment override prefixes come after the operand-size override,
it seems */
|