2 ; Ullrich von Bassewitz, 2010-11-03
4 ; CC65 runtime: 16x16 => 32 unsigned multiplication
7 .export umul16x16r32, umul16x16r32m
8 .importzp ptr1, ptr3, sreg
11 ;---------------------------------------------------------------------------
12 ; 16x16 => 32 unsigned multiplication routine.
14 ; lhs rhs result result also in
15 ; -------------------------------------------------------------
16 ; ptr1 ax ax:sreg ptr1:sreg
26 ldy #16 ; Number of bits
29 ror ptr1 ; Get first bit into carry
47 sta sreg ; Save byte 3
48 lda ptr1 ; Load the result