Added further optimizations and unit tests.
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
;
|
||||
; Ullrich von Bassewitz, 25.10.2000
|
||||
; Christian Krueger, 02-Mar-2017, some bytes saved
|
||||
;
|
||||
; CC65 runtime: Convert int in ax into a long
|
||||
;
|
||||
@@ -9,18 +10,13 @@
|
||||
|
||||
; Convert AX from int to long in EAX
|
||||
|
||||
axlong: ldy #$ff
|
||||
cpx #$80 ; Positive?
|
||||
bcs store ; No, apply $FF
|
||||
|
||||
axulong:
|
||||
ldy #0
|
||||
sty sreg
|
||||
store: sty sreg
|
||||
sty sreg+1
|
||||
rts
|
||||
|
||||
axlong: cpx #$80 ; Positive?
|
||||
bcc axulong ; Yes, handle like unsigned type
|
||||
ldy #$ff
|
||||
sty sreg
|
||||
sty sreg+1
|
||||
rts
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user