CPU bugfix start -- ADC/SBC
authorAlyssa Rosenzweig <alyssa@backtick.town>
Tue, 5 Jul 2016 22:51:35 +0000 (15:51 -0700)
committerAlyssa Rosenzweig <alyssa@backtick.town>
Tue, 5 Jul 2016 22:51:35 +0000 (15:51 -0700)
src/CPU/instructions/ADC
src/CPU/instructions/SBC

index 7fbee5e..9da6c23 100644 (file)
@@ -1,5 +1,6 @@
 R,N,Z,A
+set temp to A
 set tmp to A + OP + flagC
-set A to tmp mod 256
+set A to (tmp mod 256)
 set flagC to <tmp > 255>
-set flagV to <<A < 128 and OP < 128 and (tmp mod 256) > 128> or <A > 127 and OP > 127 and (tmp mod 256) < 128>>
+set flagV to <<temp < 128 and OP < 128 and A > 128> or <temp > 127 and OP > 127 and A < 128>>
index 255df52..00b63be 100644 (file)
@@ -1,5 +1,6 @@
 R,N,Z,A
-set tmp to A - OP - (1 - flagC)
-set A to ((tmp mod 256) + 256) mod 256
-set flagC to <tmp > 255 or tmp < 0>
-set flagV to <<A < 128 and OP < 128 and (tmp mod 256) > 128> or <A > 127 and OP > 127 and (tmp mod 256) < 128>>
+set temp to A
+set tmp to A + 255 - OP + flagC
+set A to tmp mod 256
+set flagC to <tmp > 255>
+set flagV to <<temp < 128 and OP < 128 and A > 128> or <temp > 127 and OP > 127 and A < 128>>
This page took 0.024545 seconds and 4 git commands to generate.