summaryrefslogtreecommitdiff
path: root/opcodes.asm
diff options
context:
space:
mode:
authorAstrid Smith2010-06-21 14:54:22 -0700
committerAstrid Smith2010-06-21 14:54:22 -0700
commit7099695e7a62af367be74909e08cba4b367d5b1c (patch)
treef0d27a5f6aed6b671724b1944415de37ffc8ef1a /opcodes.asm
parent5728b3249ba24a47b836053584f2b9e9eeab1453 (diff)
Parted out F_SUB_B to alu_sub.
Diffstat (limited to 'opcodes.asm')
-rw-r--r--opcodes.asm13
1 files changed, 4 insertions, 9 deletions
diff --git a/opcodes.asm b/opcodes.asm
index 35a7f4f..fca259c 100644
--- a/opcodes.asm
+++ b/opcodes.asm
@@ -1368,15 +1368,10 @@ emu_op_8f:
;; Do a SUB \2,\1
;; XXX CHECK
F_SUB_B MACRO ; 22 bytes?
- ;; XXX use lea and then d(an) if you have a spare register.
- ;; preserve operands for flagging
- move.b \1,(f_tmp_src_b-flag_storage)(a3)
- move.b \2,(f_tmp_dst_b-flag_storage)(a3)
- move.b #1,(f_tmp_byte-flag_storage)(a3)
- andi.b #%00000010,(flag_valid-flag_storage)(a3)
- move.b #%00000010,(flag_byte-flag_storage)(a3)
- sub \1,\2
- move sr,(f_host_sr-flag_storage)(a3)
+ move.b \2,d1
+ move.b \1,d0
+ bsr alu_sub
+ move.b d1,\2
ENDM
START