cleaning up and correcting cc for builtin functions

This commit is contained in:
Irmen de Jong
2020-11-05 22:27:50 +01:00
parent 1eecdd6fa3
commit aaa20093ef
6 changed files with 1784 additions and 1460 deletions

View File

@@ -1243,75 +1243,6 @@ mul_word_100 .proc
; ----------- end optimized multiplications -----------
sign_ub_into_A .proc
cmp #0
bne _pos
rts
_pos lda #1
rts
.pend
sign_ub_cc .proc
jsr sign_ub_into_A
sta P8ESTACK_LO,x
dex
rts
.pend
sign_uw_into_A .proc
cpy #0
beq _possibly_zero
_pos lda #1
rts
_possibly_zero cmp #0
bne _pos
rts
.pend
sign_uw_cc .proc
jsr sign_uw_into_A
sta P8ESTACK_LO,x
dex
rts
.pend
sign_b_into_A .proc
cmp #0
beq _zero
bmi _neg
lda #1
_zero rts
_neg lda #-1
rts
.pend
sign_b_cc .proc
jsr sign_b_into_A
sta P8ESTACK_LO,x
dex
rts
.pend
sign_w_into_A .proc
cpy #0
beq _possibly_zero
bmi _neg
_pos lda #1
rts
_neg lda #-1
rts
_possibly_zero cmp #0
bne _pos
rts
.pend
sign_w_cc .proc
jsr sign_w_into_A
sta P8ESTACK_LO,x
dex
rts
.pend
; bit shifts.
; anything below 3 is done inline. anything above 7 is done via other optimizations.