cwde and cdq fix in 64 bit mode

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2373 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
bellard 2007-02-01 22:11:07 +00:00
parent 0dcece76f0
commit 0499e4a02a

View File

@ -788,7 +788,7 @@ void OPPROTO op_movzwl_T0_T0(void)
void OPPROTO op_movswl_EAX_AX(void) void OPPROTO op_movswl_EAX_AX(void)
{ {
EAX = (int16_t)EAX; EAX = (uint32_t)((int16_t)EAX);
} }
#ifdef TARGET_X86_64 #ifdef TARGET_X86_64
@ -810,7 +810,7 @@ void OPPROTO op_movsbw_AX_AL(void)
void OPPROTO op_movslq_EDX_EAX(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) void OPPROTO op_movswl_DX_AX(void)