2000-05-28 13:40:48 +00:00
|
|
|
;
|
|
|
|
; Ullrich von Bassewitz, 03.06.1998
|
|
|
|
;
|
|
|
|
; Heap variables and initialization.
|
|
|
|
;
|
|
|
|
|
2000-11-22 22:19:09 +00:00
|
|
|
.constructor initheap, 24
|
2001-03-10 14:19:21 +00:00
|
|
|
.import __BSS_RUN__, __BSS_SIZE__, __STACKSIZE__
|
2000-05-28 13:40:48 +00:00
|
|
|
.importzp sp
|
|
|
|
|
2003-02-01 12:22:09 +00:00
|
|
|
.include "_heap.inc"
|
|
|
|
|
|
|
|
|
2000-05-28 13:40:48 +00:00
|
|
|
.data
|
|
|
|
|
2003-02-01 12:22:09 +00:00
|
|
|
__heaporg:
|
2000-05-28 13:40:48 +00:00
|
|
|
.word __BSS_RUN__+__BSS_SIZE__ ; Linker calculates this symbol
|
2003-02-01 12:22:09 +00:00
|
|
|
__heapptr:
|
|
|
|
.word __BSS_RUN__+__BSS_SIZE__ ; Dito
|
|
|
|
__heapend:
|
2000-05-28 13:40:48 +00:00
|
|
|
.word __BSS_RUN__+__BSS_SIZE__
|
2003-02-01 12:22:09 +00:00
|
|
|
__heapfirst:
|
|
|
|
.word 0
|
|
|
|
__heaplast:
|
|
|
|
.word 0
|
2000-05-28 13:40:48 +00:00
|
|
|
|
|
|
|
|
2000-11-22 22:19:09 +00:00
|
|
|
; Initialization. Will be called from startup!
|
2000-05-28 13:40:48 +00:00
|
|
|
|
|
|
|
.code
|
|
|
|
|
2000-11-22 22:19:09 +00:00
|
|
|
initheap:
|
2003-02-01 12:22:09 +00:00
|
|
|
sec
|
|
|
|
lda sp
|
|
|
|
sbc #<__STACKSIZE__
|
|
|
|
sta __heapend
|
|
|
|
lda sp+1
|
2001-03-10 14:19:21 +00:00
|
|
|
sbc #>__STACKSIZE__
|
2003-02-01 12:22:09 +00:00
|
|
|
sta __heapend+1
|
2000-05-28 13:40:48 +00:00
|
|
|
rts
|
|
|
|
|