1
0
mirror of https://github.com/cc65/cc65.git synced 2024-06-09 06:29:38 +00:00

Use AX paradigm for stack initalization.

This commit is contained in:
Oliver Schmidt 2016-03-07 01:44:19 +01:00
parent d8c31cf1d3
commit 69fbcb30fd
4 changed files with 14 additions and 15 deletions

View File

@ -27,9 +27,9 @@ start:
; Set up the stack.
lda #<(__RAM_START__ + __RAM_SIZE__ - __RESERVED_MEMORY__)
ldx #>(__RAM_START__ + __RAM_SIZE__ - __RESERVED_MEMORY__)
sta sp
lda #>(__RAM_START__ + __RAM_SIZE__ - __RESERVED_MEMORY__)
sta sp+1 ; Set argument stack ptr
stx sp+1 ; Set argument stack ptr
; Call the module constructors.

View File

@ -20,7 +20,7 @@ Start:
ldx #0
stx ZP_IRQ_CTRL ; disable calling cartridge IRQ/NMI handler
; Setup stack and memory mapping
; Set up stack and memory mapping
;ldx #$FF ; Stack top ($01FF)
dex
txs
@ -31,7 +31,7 @@ Start:
; Copy the .data segment to RAM
jsr copydata
; setup the stack
; Set up the stack
lda #<(__RAM_START__+__RAM_SIZE__)
ldx #>(__RAM_START__+__RAM_SIZE__)
sta sp

View File

@ -100,9 +100,9 @@ start:
; Set up the stack.
lda #<(__SRAM_START__ + __SRAM_SIZE__)
ldx #>(__SRAM_START__ + __SRAM_SIZE__)
sta sp
lda #>(__SRAM_START__ + __SRAM_SIZE__)
sta sp+1 ; Set argument stack ptr
stx sp+1 ; Set argument stack ptr
; Call the module constructors.

View File

@ -39,22 +39,21 @@
start:
; setup the CPU and System-IRQ
; Set up the CPU and System-IRQ
; Initialize CPU
sei
nop
csh ; set high speed CPU mode
csh ; Set high speed CPU mode
nop
cld
nop
; Setup stack and memory mapping
; Set up stack and memory mapping
ldx #$FF ; Stack top ($21FF)
txs
; at startup all MPRs are set to 0, so init them
; At startup all MPRs are set to 0, so init them
lda #$ff
tam #%00000001 ; 0000-1FFF = Hardware page
lda #$F8
@ -98,11 +97,11 @@ start:
; Copy the .data segment to RAM
tii __DATA_LOAD__, __DATA_RUN__, __DATA_SIZE__
; setup the stack
; Set up the stack
lda #<(__RAM_START__+__RAM_SIZE__)
ldx #>(__RAM_START__+__RAM_SIZE__)
sta sp
lda #>(__RAM_START__+__RAM_SIZE__)
sta sp + 1
stx sp + 1
; Call module constructors
jsr initlib
@ -114,7 +113,7 @@ start:
jsr push0 ; argv
ldy #4 ; Argument size
jsr _main ; call the users code
jsr _main ; Call the users code
; Call module destructors. This is also the _exit entry.
_exit: