;
-; 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