mul.o \
mulax3.o \
mulax5.o \
+ mulax6.o \
+ mulax7.o \
+ mulax9.o \
mulax10.o \
ne.o \
neg.o \
--- /dev/null
+;
+; Ullrich von Bassewitz, 16.03.2002
+;
+; CC65 runtime: Multiply the primary register
+;
+
+ .export mulax6
+ .importzp ptr1
+
+.proc mulax6
+
+ sta ptr1
+ stx ptr1+1
+ asl a
+ rol ptr1+1
+ clc
+ adc ptr1
+ pha
+ txa
+ adc ptr1+1
+ sta ptr1+1
+ pla
+ asl a
+ rol ptr1+1
+ ldx ptr1+1
+ rts
+
+.endproc
+
+
--- /dev/null
+;
+; Ullrich von Bassewitz, 16.03.2002
+;
+; CC65 runtime: Multiply the primary register
+;
+
+ .export mulax7
+ .importzp ptr1, tmp1
+
+.proc mulax7
+
+ sta ptr1
+ stx ptr1+1
+ stx tmp1
+ asl a
+ rol tmp1 ; * 2
+ asl a
+ rol tmp1 ; * 4
+ asl a
+ rol tmp1 ; * 8
+ sec
+ sbc ptr1
+ pha
+ lda tmp1
+ sbc ptr1+1 ; * (8 - 1)
+ tax
+ pla
+ rts
+
+.endproc
+
+
--- /dev/null
+;
+; Ullrich von Bassewitz, 16.03.2002
+;
+; CC65 runtime: Multiply the primary register
+;
+
+ .export mulax9
+ .importzp ptr1, tmp1
+
+.proc mulax9
+
+ sta ptr1
+ stx ptr1+1
+ stx tmp1
+ asl a
+ rol tmp1 ; * 2
+ asl a
+ rol tmp1 ; * 4
+ asl a
+ rol tmp1 ; * 8
+ clc
+ adc ptr1 ; * (8+1)
+ pha
+ lda tmp1
+ adc ptr1+1
+ tax
+ pla
+ rts
+
+.endproc
+
+