Runtime function improvements by Piotr Fusik

git-svn-id: svn://svn.cc65.org/cc65/trunk@2577 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
cuz
2003-10-28 08:47:47 +00:00
parent 4319fd9cc7
commit 6d8cdae722
7 changed files with 86 additions and 90 deletions

View File

@@ -1,28 +1,29 @@
;
; Ullrich von Bassewitz, 16.03.2002
; Piotr Fusik, 24.10.2003
; originally by Ullrich von Bassewitz
;
; CC65 runtime: Multiply the primary register
; CC65 runtime: Multiply the primary register by 7
;
.export mulax7
.importzp ptr1, tmp1
.export mulax7
.importzp ptr1
.proc mulax7
sta ptr1
stx ptr1+1
stx tmp1
asl a
rol tmp1 ; * 2
asl a
rol tmp1 ; * 4
rol ptr1+1 ; * 2
asl a
rol tmp1 ; * 8
rol ptr1+1 ; * 4
asl a
rol ptr1+1 ; * 8
sec
sbc ptr1
pha
lda tmp1
sbc ptr1+1 ; * (8 - 1)
txa
eor #$ff
adc ptr1+1 ; * (8 - 1)
tax
pla
rts