Remove no longer used mov_FAC1_MEM
This commit is contained in:
1 parent
1adfa10462
commit
1b1d0c4329
1 file changed
-74
@@ -1,74 +0,0 @@
|
||||
;; #LAYOUT# STD * #TAKE
|
||||
;; #LAYOUT# * BASIC_0 #TAKE
|
||||
;; #LAYOUT# * * #IGNORE
|
||||
|
||||
;
|
||||
; Math package - copy FAC1 to memory location, do not round
|
||||
;
|
||||
; Input:
|
||||
; - .X - address low byte
|
||||
; - .Y - address high byte
|
||||
;
|
||||
; Output:
|
||||
; - .A - FAC1 exponent
|
||||
;
|
||||
; See also:
|
||||
; - https://www.c64-wiki.com/wiki/Floating_point_arithmetic
|
||||
; - https://codebase64.org/doku.php?id=base:kernal_floating_point_mathematics
|
||||
;
|
||||
|
||||
mov_FAC1_MEM:
|
||||
|
||||
; Original routines use $22/$23 location for a vector too, see here:
|
||||
; - https://codebase64.org/doku.php?id=base:kernal_floating_point_mathematics
|
||||
|
||||
sty INDEX+1
|
||||
stx INDEX+0
|
||||
|
||||
ldy #$00
|
||||
|
||||
; Copy exponent
|
||||
|
||||
lda FAC1_exponent
|
||||
sta (INDEX), y
|
||||
beq mov_FAC1_MEM_end ; for 0 no need to copy anything more
|
||||
|
||||
; Copy first byte of mantissa
|
||||
|
||||
iny
|
||||
lda FAC2_mantissa+3
|
||||
sta (INDEX), y
|
||||
|
||||
; Copy the sign XXX try to optimize this part
|
||||
|
||||
lda FAC1_sign
|
||||
bne @1
|
||||
|
||||
lda FAC2_mantissa+3
|
||||
and #$7F
|
||||
sta (INDEX), y
|
||||
@1:
|
||||
; Copy remaining parts of mantissa
|
||||
|
||||
iny
|
||||
lda FAC2_mantissa+2
|
||||
sta (INDEX), y
|
||||
|
||||
iny
|
||||
lda FAC2_mantissa+1
|
||||
sta (INDEX), y
|
||||
|
||||
iny
|
||||
lda FAC2_mantissa+0
|
||||
sta (INDEX), y
|
||||
|
||||
; Checked, that mov_FAC1_MEM works on real ROM too (at $BBD7),
|
||||
; and clears FACOV in a similar way as mov_FAC1_FAC2 does (not surprising)
|
||||
|
||||
ldy #$00
|
||||
sty FACOV
|
||||
|
||||
mov_FAC1_MEM_end:
|
||||
|
||||
lda FAC1_exponent
|
||||
rts
|
||||
Reference in new issue
Block a user