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