mirror of
https://github.com/cc65/cc65.git
synced 2025-02-05 20:31:53 +00:00
use tii instead of copy loop to copy data section to ram
This commit is contained in:
parent
a957f80204
commit
8f8f12ceab
@ -96,43 +96,7 @@ start:
|
|||||||
jsr zerobss
|
jsr zerobss
|
||||||
|
|
||||||
; Copy the .data segment to RAM
|
; Copy the .data segment to RAM
|
||||||
lda #<(__DATA_LOAD__)
|
tii __DATA_LOAD__, __DATA_RUN__, __DATA_SIZE__
|
||||||
sta ptr1
|
|
||||||
lda #>(__DATA_LOAD__)
|
|
||||||
sta ptr1+1
|
|
||||||
lda #<(__DATA_RUN__)
|
|
||||||
sta ptr2
|
|
||||||
lda #>(__DATA_RUN__)
|
|
||||||
sta ptr2+1
|
|
||||||
|
|
||||||
ldx #>(__DATA_SIZE__)
|
|
||||||
@l2:
|
|
||||||
beq @s1 ; no more full pages
|
|
||||||
|
|
||||||
; copy one page
|
|
||||||
ldy #0
|
|
||||||
@l1:
|
|
||||||
lda (ptr1),y
|
|
||||||
sta (ptr2),y
|
|
||||||
iny
|
|
||||||
bne @l1
|
|
||||||
|
|
||||||
inc ptr1+1
|
|
||||||
inc ptr2+1
|
|
||||||
|
|
||||||
dex
|
|
||||||
bne @l2
|
|
||||||
|
|
||||||
; copy remaining bytes
|
|
||||||
@s1:
|
|
||||||
; copy one page
|
|
||||||
ldy #0
|
|
||||||
@l3:
|
|
||||||
lda (ptr1),y
|
|
||||||
sta (ptr2),y
|
|
||||||
iny
|
|
||||||
cpy #<(__DATA_SIZE__)
|
|
||||||
bne @l3
|
|
||||||
|
|
||||||
; setup the stack
|
; setup the stack
|
||||||
lda #<(__RAM_START__+__RAM_SIZE__)
|
lda #<(__RAM_START__+__RAM_SIZE__)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user