about summary refs log tree commit diff stats
path: root/src/emu
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2022-07-16 21:29:14 +0200
committerptitSeb <sebastien.chev@gmail.com>2022-07-16 21:29:14 +0200
commit08aa003335c29add9188a67cddc363af903014bc (patch)
tree7fc3b86f45b32b038069f7ab15e0575e1ac5db0a /src/emu
parentb0a56e27902465d4b5ed50ba751c1e7c6966ef5f (diff)
downloadbox64-08aa003335c29add9188a67cddc363af903014bc.tar.gz
box64-08aa003335c29add9188a67cddc363af903014bc.zip
[DYNAREC] Fixed defered carry flags for ADC 64bits
Diffstat (limited to 'src/emu')
-rwxr-xr-xsrc/emu/x64run_private.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/emu/x64run_private.c b/src/emu/x64run_private.c
index 16a9235e..326c5a02 100755
--- a/src/emu/x64run_private.c
+++ b/src/emu/x64run_private.c
@@ -154,7 +154,7 @@ void UpdateFlags(x64emu_t *emu)
         case d_add64:
             lo = (emu->op2.u64 & 0xFFFFFFFF) + (emu->op1.u64 & 0xFFFFFFFF);
             hi = (lo >> 32) + (emu->op2.u64 >> 32) + (emu->op1.u64 >> 32);
-            CONDITIONAL_SET_FLAG(hi & 0x100000000, F_CF);
+            CONDITIONAL_SET_FLAG(hi & 0x100000000L, F_CF);
             CONDITIONAL_SET_FLAG(!emu->res.u64, F_ZF);
             CONDITIONAL_SET_FLAG(emu->res.u64 & 0x8000000000000000LL, F_SF);
             CONDITIONAL_SET_FLAG(PARITY(emu->res.u64 & 0xff), F_PF);
@@ -836,7 +836,7 @@ void UpdateFlags(x64emu_t *emu)
                 lo = 1 + (emu->op1.u64 & 0xFFFFFFFF) + (emu->op2.u64 & 0xFFFFFFFF);
             }
             hi = (lo >> 32) + (emu->op1.u64 >> 32) + (emu->op2.u64 >> 32);
-            CONDITIONAL_SET_FLAG(hi & 0x1000000000000L, F_CF);
+            CONDITIONAL_SET_FLAG(hi & 0x100000000L, F_CF);
             CONDITIONAL_SET_FLAG(!emu->res.u64, F_ZF);
             CONDITIONAL_SET_FLAG(emu->res.u64 & 0x8000000000000000LL, F_SF);
             CONDITIONAL_SET_FLAG(PARITY(emu->res.u64 & 0xff), F_PF);