diff options
author | pbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-07-22 18:16:42 +0000 |
---|---|---|
committer | pbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-07-22 18:16:42 +0000 |
commit | aa268ea622a1e0443ee816c0eb09da928efef5eb (patch) | |
tree | 0d6ff97b80d84262c63e7a189fa767a7eeded0ea /target-arm | |
parent | 4ce6f8de1aa07cd0587f100200f949a2defdf5cb (diff) | |
download | qemu-aa268ea622a1e0443ee816c0eb09da928efef5eb.tar.gz qemu-aa268ea622a1e0443ee816c0eb09da928efef5eb.tar.bz2 qemu-aa268ea622a1e0443ee816c0eb09da928efef5eb.zip |
Thumb shifter carry flag fixes.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3083 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-arm')
-rw-r--r-- | target-arm/op.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/target-arm/op.c b/target-arm/op.c index d7ac6de062..771f9c470a 100644 --- a/target-arm/op.c +++ b/target-arm/op.c @@ -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; |