diff options
author | pbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-04-01 17:19:11 +0000 |
---|---|---|
committer | pbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-04-01 17:19:11 +0000 |
commit | 6fbe23d50ed24044ac2d12281b0e7d580a2374d9 (patch) | |
tree | c0f0da6a5cfa9d9b18d851abecb74c603a0d3346 /target-arm/op_helper.c | |
parent | f5d28393ca6303c7470d95c2360d8c76b5bbdfdc (diff) |
ARM N=Z=1 flag fix.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4156 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-arm/op_helper.c')
-rw-r--r-- | target-arm/op_helper.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/target-arm/op_helper.c b/target-arm/op_helper.c index 20dafae8a4..555b55c6bb 100644 --- a/target-arm/op_helper.c +++ b/target-arm/op_helper.c @@ -315,7 +315,7 @@ uint32_t HELPER (add_cc)(uint32_t a, uint32_t b) { uint32_t result; result = T0 + T1; - env->NZF = result; + env->NF = env->ZF = result; env->CF = result < a; env->VF = (a ^ b ^ -1) & (a ^ result); return result; @@ -332,7 +332,7 @@ uint32_t HELPER(adc_cc)(uint32_t a, uint32_t b) env->CF = result <= a; } env->VF = (a ^ b ^ -1) & (a ^ result); - env->NZF = result; + env->NF = env->ZF = result; return result; } @@ -340,7 +340,7 @@ uint32_t HELPER(sub_cc)(uint32_t a, uint32_t b) { uint32_t result; result = a - b; - env->NZF = result; + env->NF = env->ZF = result; env->CF = a >= b; env->VF = (a ^ b) & (a ^ result); return result; @@ -357,7 +357,7 @@ uint32_t HELPER(sbc_cc)(uint32_t a, uint32_t b) env->CF = a >= b; } env->VF = (a ^ b) & (a ^ result); - env->NZF = result; + env->NF = env->ZF = result; return result; } |