]> git.sur5r.net Git - cc65/blob - libsrc/common/zerobss.s
This commit was generated by cvs2svn to compensate for changes in r2,
[cc65] / libsrc / common / zerobss.s
1 ;
2 ; Ullrich von Bassewitz, 17.09.1998
3 ;
4 ; Zero the bss segment.
5 ;
6
7         .export         zerobss
8         .import         __BSS_RUN__, __BSS_SIZE__
9         .importzp       ptr1
10
11
12 .code
13
14 zerobss:
15         lda     #<__BSS_RUN__
16         sta     ptr1
17         lda     #>__BSS_RUN__
18         sta     ptr1+1
19         lda     #0
20         tay
21
22 ; Clear full pages
23
24 L1:     ldx     #>__BSS_SIZE__
25         beq     L3
26 L2:     sta     (ptr1),y
27         iny
28         bne     L2
29         inc     ptr1+1
30         dex
31         bne     L2
32
33 ; Clear remaining page (y is zero on entry)
34
35 L3:     ldx     #<__BSS_SIZE__
36         beq     L5
37 L4:     sta     (ptr1),y
38         iny
39         dex
40         bne     L4
41
42 ; Done
43
44 L5:     rts
45
46
47