Clear the carry/borrow flag before add/sub
authorDavid Gow <david@ingeniumdigital.com>
Mon, 7 Jul 2014 01:49:48 +0000 (09:49 +0800)
committerDavid Gow <david@ingeniumdigital.com>
Mon, 7 Jul 2014 01:49:48 +0000 (09:49 +0800)
src/add_digits_asm.s
src/sub_digits_asm.s

index 39f4af9..8144acc 100644 (file)
@@ -9,6 +9,7 @@
 # Result in %rax is the final result in the carry flag
 # Exploits the fact that inc and dec do not affect the carry flag
 add_digits:
+       addq $0, %rax
        loop:
                movq (%rsi), %rax # Temporarily store digit from second array
                adcq %rax, (%rdi) # Add digits in second and first array, store in first
index 1a6ee3b..17d81c1 100644 (file)
@@ -9,6 +9,7 @@
 # Result in %rax is the final result in the carry flag
 # Exploits the fact that inc and dec do not affect the carry flag
 sub_digits:
+       subq $0, %rax           # Reset the carry/borrow flag
        loop:
                movq (%rsi), %rax # Temporarily store digit from second array
                sbbq %rax, (%rdi) # Subtract digits in second and first array, store in first

UCC git Repository :: git.ucc.asn.au