few 6502 and some 65SC02 optimizations
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
;
|
||||
; Ullrich von Bassewitz, 13.08.1998
|
||||
; Christian Krueger, 11-Mar-2017, added 65SC02 optimization
|
||||
;
|
||||
; CC65 runtime: multiplication for long (unsigned) ints
|
||||
;
|
||||
@@ -8,20 +9,32 @@
|
||||
.import addysp1
|
||||
.importzp sp, sreg, tmp1, tmp2, tmp3, tmp4, ptr1, ptr3, ptr4
|
||||
|
||||
.macpack cpu
|
||||
|
||||
tosmul0ax:
|
||||
tosumul0ax:
|
||||
.if (.cpu .bitand ::CPU_ISET_65SC02)
|
||||
stz sreg
|
||||
stz sreg+1
|
||||
.else
|
||||
ldy #$00
|
||||
sty sreg
|
||||
sty sreg+1
|
||||
.endif
|
||||
|
||||
tosmuleax:
|
||||
tosumuleax:
|
||||
mul32: sta ptr1
|
||||
stx ptr1+1 ; op2 now in ptr1/sreg
|
||||
.if (.cpu .bitand ::CPU_ISET_65SC02)
|
||||
lda (sp)
|
||||
ldy #1
|
||||
.else
|
||||
ldy #0
|
||||
lda (sp),y
|
||||
sta ptr3
|
||||
iny
|
||||
.endif
|
||||
sta ptr3
|
||||
lda (sp),y
|
||||
sta ptr3+1
|
||||
iny
|
||||
|
||||
Reference in New Issue
Block a user