From f2fc7ea378ce3b5e6d4a4ebc0abe0d103c25ba46 Mon Sep 17 00:00:00 2001 From: Duncan Smith Date: Mon, 21 Jun 2010 14:51:44 -0700 Subject: Parted out F_SBC_B to alu_sbc. --- alu.asm | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'alu.asm') diff --git a/alu.asm b/alu.asm index cce4011..18f5260 100644 --- a/alu.asm +++ b/alu.asm @@ -1,4 +1,21 @@ ;; Parting out the big math/logic routines from the ;; instruction dispatch table. - +alu_sbc: + ;; SBC instruction + ;; SBC d1,d0 + ;; d1 - (d0+C) -> d1 + ;; sets flags + + push.l d2 + bsr flags_normalize + move.b flag_byte(pc),d2 + andi.b #1,d2 + add.b d0,d2 + move.b d2,(f_tmp_src_b-flag_storage)(a3) + move.b d1,(f_tmp_dst_b-flag_storage)(a3) + sub.b d2,d1 + move sr,(f_host_sr-flag_storage)(a3) + move.w #$0202,(flag_byte-flag_storage)(a3) + pop.l d2 + rts -- cgit v1.2.3