2 ; Ullrich von Bassewitz, 13.08.1998
3 ; Christian Krueger, 11-Mar-2017, added 65SC02 optimization
5 ; CC65 runtime: multiplication for long (unsigned) ints
8 .export tosumul0ax, tosumuleax, tosmul0ax, tosmuleax
10 .importzp sp, sreg, tmp1, tmp2, tmp3, tmp4, ptr1, ptr3, ptr4
16 .if (.cpu .bitand ::CPU_ISET_65SC02)
28 stx ptr1+1 ; op2 now in ptr1/sreg
29 .if (.cpu .bitand ::CPU_ISET_65SC02)
45 sta ptr4+1 ; op1 in pre3/ptr4
46 jsr addysp1 ; Drop TOS
48 ; Do (ptr1:sreg)*(ptr3:ptr4) --> EAX.
79 lda ptr1 ; Load the low result word