OSDN Git Service

Thumb shifter carry flag fixes.
authorpbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162>
Sun, 22 Jul 2007 18:16:42 +0000 (18:16 +0000)
committerpbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162>
Sun, 22 Jul 2007 18:16:42 +0000 (18:16 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3083 c046a42c-6fe2-441c-8c8c-71466251a162

target-arm/op.c

index d7ac6de..771f9c4 100644 (file)
@@ -819,7 +819,7 @@ void OPPROTO op_shll_T0_im_thumb(void)
     int shift;
     shift = PARAM1;
     if (shift != 0) {
-       env->CF = (T1 >> (32 - shift)) & 1;
+       env->CF = (T0 >> (32 - shift)) & 1;
        T0 = T0 << shift;
     }
     env->NZF = T0;
@@ -832,7 +832,7 @@ void OPPROTO op_shrl_T0_im_thumb(void)
 
     shift = PARAM1;
     if (shift == 0) {
-       env->CF = ((uint32_t)shift) >> 31;
+       env->CF = ((uint32_t)T0) >> 31;
        T0 = 0;
     } else {
        env->CF = (T0 >> (shift - 1)) & 1;