]> git.sur5r.net Git - cc65/blob - libsrc/sim6502/crt0.s
d1831ad8192da4c40c38be4e85d06af6a104e218
[cc65] / libsrc / sim6502 / crt0.s
1 ;
2 ; Oliver Schmidt, 2013-05-16
3 ;
4 ; Startup code for cc65 (sim6502 version)
5 ;
6
7         .export         _exit
8         .export         __STARTUP__ : absolute = 1      ; Mark as startup
9         .import         zerobss, callmain
10         .import         initlib, donelib
11         .import         exit
12         .import         __RAM_START__, __RAM_SIZE__     ; Linker generated
13         .import         __STACKSIZE__                   ; Linker generated
14
15         .include        "zeropage.inc"
16
17         .segment        "STARTUP"
18
19         cld
20         ldx     #$FF
21         txs
22         lda     #<(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__)
23         ldx     #>(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__)
24         sta     sp
25         stx     sp+1
26         jsr     zerobss
27         jsr     initlib
28         jsr     callmain
29 _exit:  pha
30         jsr     donelib
31         pla
32         jmp     exit