From 0499e4a02a5f7b53f48777de1e04b8440c740d85 Mon Sep 17 00:00:00 2001 From: bellard Date: Thu, 1 Feb 2007 22:11:07 +0000 Subject: cwde and cdq fix in 64 bit mode git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2373 c046a42c-6fe2-441c-8c8c-71466251a162 --- target-i386/op.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/target-i386/op.c b/target-i386/op.c index 7c20f524fe..a8cfce271b 100644 --- a/target-i386/op.c +++ b/target-i386/op.c @@ -788,7 +788,7 @@ void OPPROTO op_movzwl_T0_T0(void) void OPPROTO op_movswl_EAX_AX(void) { - EAX = (int16_t)EAX; + EAX = (uint32_t)((int16_t)EAX); } #ifdef TARGET_X86_64 @@ -810,7 +810,7 @@ void OPPROTO op_movsbw_AX_AL(void) void OPPROTO op_movslq_EDX_EAX(void) { - EDX = (int32_t)EAX >> 31; + EDX = (uint32_t)((int32_t)EAX >> 31); } void OPPROTO op_movswl_DX_AX(void) -- cgit v1.2.3