]> git.sur5r.net Git - cc65/blob - libsrc/common/cc65_udiv32by16r16.s
Moved documentation to funcref.
[cc65] / libsrc / common / cc65_udiv32by16r16.s
1 ;
2 ; Ullrich von Bassewitz, 2009-11-04
3 ;
4 ; CC65 library: 32by16 => 16 unsigned division
5 ;
6
7         .export         _cc65_udiv32by16r16
8         .import         udiv32by16r16m, incsp4
9
10         .include        "zeropage.inc"
11
12
13 ;---------------------------------------------------------------------------
14 ; 32by16 division.
15
16 .proc   _cc65_udiv32by16r16
17
18         sta     ptr3
19         stx     ptr3+1                  ; Store rhs
20
21 ; Copy from stack to zeropage. This assumes ptr1 and ptr2 are adjacent.
22
23         ldy     #3
24 @L1:    lda     (sp),y
25         sta     ptr1,y
26         dey
27         bpl     @L1
28
29         lda     #4
30         clc
31         adc     sp
32         sta     sp
33         bcc     @L2
34         inc     sp+1
35
36 @L2:    jmp     udiv32by16r16m
37
38 .endproc
39