diff options
author | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-02-01 22:11:07 +0000 |
---|---|---|
committer | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-02-01 22:11:07 +0000 |
commit | 0499e4a02a5f7b53f48777de1e04b8440c740d85 (patch) | |
tree | e8c5462d2110841f92151f7decc4c015a0bcff3c /target-i386 | |
parent | 0dcece76f0766d3be3f6e2023e91fb221bec20cc (diff) |
cwde and cdq fix in 64 bit mode
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2373 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-i386')
-rw-r--r-- | target-i386/op.c | 4 |
1 files 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) |