Adding of 16-bit arithmatic macro variants for X and A as input
This commit is contained in:
parent
0797e69106
commit
09b8a33e09
1 changed files with 25 additions and 6 deletions
|
@ -7,21 +7,27 @@
|
||||||
;; IF to run it fast
|
;; IF to run it fast
|
||||||
.ifblank fast_unsafe
|
.ifblank fast_unsafe
|
||||||
CLC
|
CLC
|
||||||
.endif
|
|
||||||
;; If b_low != A
|
|
||||||
.if .match(.mid (0, 1, {b_low}), A )
|
|
||||||
.else
|
|
||||||
LDA b_low
|
|
||||||
.endif
|
.endif
|
||||||
LDA b_low
|
LDA b_low
|
||||||
ADC a_low
|
ADC a_low
|
||||||
STA a_low
|
STA a_low
|
||||||
LDA b_hi
|
LDA b_hi
|
||||||
LDA b_hi
|
|
||||||
ADC a_hi
|
ADC a_hi
|
||||||
STA a_hi
|
STA a_hi
|
||||||
.endmacro
|
.endmacro
|
||||||
|
|
||||||
|
; Untested!
|
||||||
|
.macro Add_16_AX low, hi, fast_unsafe; , A, X
|
||||||
|
;; IF to run it fast
|
||||||
|
.ifblank fast_unsafe
|
||||||
|
CLC
|
||||||
|
.endif
|
||||||
|
ADC low
|
||||||
|
STA low
|
||||||
|
TXA
|
||||||
|
ADC hi
|
||||||
|
STA hi
|
||||||
|
.endmacro
|
||||||
|
|
||||||
.macro Sub_16 a_low, a_hi, b_low, b_hi, fast_unsafe ; a = a - b
|
.macro Sub_16 a_low, a_hi, b_low, b_hi, fast_unsafe ; a = a - b
|
||||||
.ifblank fast_unsafe
|
.ifblank fast_unsafe
|
||||||
|
@ -35,6 +41,19 @@
|
||||||
STA a_hi
|
STA a_hi
|
||||||
.endmacro
|
.endmacro
|
||||||
|
|
||||||
|
;;Untested
|
||||||
|
.macro Sub_16_AX low, hi, fast_unsafe; , A, X
|
||||||
|
;; IF to run it fast
|
||||||
|
.ifblank fast_unsafe
|
||||||
|
SEC
|
||||||
|
.endif
|
||||||
|
SBC low
|
||||||
|
STA low
|
||||||
|
TXA
|
||||||
|
SBC hi
|
||||||
|
STA hi
|
||||||
|
.endmacro
|
||||||
|
|
||||||
.macro mult_16 low_, hi_, fast_unsafe ; [low, hi] = [low, hi]*2
|
.macro mult_16 low_, hi_, fast_unsafe ; [low, hi] = [low, hi]*2
|
||||||
;; IF to run it fast
|
;; IF to run it fast
|
||||||
.ifblank fast_unsafe
|
.ifblank fast_unsafe
|
||||||
|
|
Loading…
Add table
Reference in a new issue