|
From: <sv...@va...> - 2006-12-26 02:08:23
|
Author: sewardj
Date: 2006-12-26 02:08:21 +0000 (Tue, 26 Dec 2006)
New Revision: 1695
Log:
Merge r1679 (x86 Grp5(R) case 6)
Modified:
branches/VEX_3_2_BRANCH/priv/guest-x86/toIR.c
Modified: branches/VEX_3_2_BRANCH/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
--- branches/VEX_3_2_BRANCH/priv/guest-x86/toIR.c 2006-12-26 02:06:09 UTC=
(rev 1694)
+++ branches/VEX_3_2_BRANCH/priv/guest-x86/toIR.c 2006-12-26 02:08:21 UTC=
(rev 1695)
@@ -2815,6 +2815,13 @@
jmp_treg(Ijk_Boring,t1);
dres->whatNext =3D Dis_StopHere;
break;
+ case 6: /* PUSH Ev */
+ vassert(sz =3D=3D 4 || sz =3D=3D 2);
+ t2 =3D newTemp(Ity_I32);
+ assign( t2, binop(Iop_Sub32,getIReg(4,R_ESP),mkU32(sz)) );
+ putIReg(4, R_ESP, mkexpr(t2) );
+ storeLE( mkexpr(t2), mkexpr(t1) );
+ break;
default:=20
vex_printf(
"unhandled Grp5(R) case %d\n", (Int)gregOfRM(modrm));
|