]> git.sur5r.net Git - cc65/blob - libsrc/runtime/mulax7.s
Added a few more specialized multiply routines
[cc65] / libsrc / runtime / mulax7.s
1 ;
2 ; Ullrich von Bassewitz, 16.03.2002
3 ;
4 ; CC65 runtime: Multiply the primary register
5 ;
6
7         .export         mulax7
8         .importzp       ptr1, tmp1
9
10 .proc   mulax7
11
12         sta     ptr1
13         stx     ptr1+1
14         stx     tmp1
15         asl     a
16         rol     tmp1                    ; * 2
17         asl     a
18         rol     tmp1                    ; * 4
19         asl     a
20         rol     tmp1                    ; * 8
21         sec
22         sbc     ptr1
23         pha
24         lda     tmp1
25         sbc     ptr1+1                  ; * (8 - 1)
26         tax
27         pla
28         rts
29
30 .endproc
31
32