; When negating values, we will ignore the possibility here, that one of the
; values is $8000, in which case the negate will fail.
- .export absvaludiv
+ .export absvaludiv16
.import _abs, popax, udiv16
.importzp ptr1, ptr4
-absvaludiv:
+absvaludiv16:
jsr _abs
sta ptr4
stx ptr4+1 ; Save right absolute operand
; values is $8000, in which case the negate will fail.
.export tosdiva0, tosdivax
- .import absvaludiv, negax
+ .import absvaludiv16, negax
.importzp sp, ptr1, tmp1
tosdiva0:
eor (sp),y ; eor with lhs high byte
sta tmp1 ; save post negation indicator to tmp1
pla ; back to entry accu
- jsr absvaludiv
+ jsr absvaludiv16
ldx ptr1+1
lda ptr1
- ldy tmp1 ; fetch idicator
+ ldy tmp1 ; fetch indicator
bmi negate
rts
negate: jmp negax
; values is $8000, in which case the negate will fail.
.export tosmoda0, tosmodax
- .import absvaludiv, negax
+ .import absvaludiv16, negax
.importzp sp, sreg, tmp1
tosmoda0:
lda (sp),y
sta tmp1 ; save post negation indicator to tmp1
pla ; back to entry accu
- jsr absvaludiv
+ jsr absvaludiv16
ldx sreg+1 ; remainder to return registers
lda sreg
- ldy tmp1 ; fetch idicator
+ ldy tmp1 ; fetch indicator
bmi negate
rts
negate: jmp negax