summaryrefslogtreecommitdiff
path: root/alu.asm
diff options
context:
space:
mode:
authorDuncan Smith2010-06-26 13:44:07 -0700
committerDuncan Smith2010-06-26 13:44:07 -0700
commit5e36765df09585ec20587299f3cd2f6b3c93a443 (patch)
treee391a47b025a1b82b831eba277730eacb8115cb1 /alu.asm
parentc51068dad4d141463c17dc32a3c096c2be1bfec0 (diff)
Parted out ADD macro-instruction
Diffstat (limited to 'alu.asm')
-rw-r--r--alu.asm14
1 files changed, 14 insertions, 0 deletions
diff --git a/alu.asm b/alu.asm
index 22217bb..8fa4271 100644
--- a/alu.asm
+++ b/alu.asm
@@ -1,6 +1,20 @@
;; Parting out the big math/logic routines from the
;; instruction dispatch table.
+alu_add:
+ ;; ADD instruction
+ ;; ADD d1,d0
+ ;; d1 + d0 -> d1
+ move.b d0,f_tmp_src_b ; preserve operands for flag work
+ move.b d1,f_tmp_dst_b
+ move.b #1,(f_tmp_byte-flag_storage)(a3)
+ add d0,d1
+ move sr,(f_host_sr-flag_storage)(a3)
+ move.w #0202,(flag_byte-flag_storage)(a3)
+ rts
+
+alu_adc:
+
alu_sbc:
;; SBC instruction
;; SBC d1,d0