mirror of
https://github.com/cc65/cc65.git
synced 2024-12-23 19:29:37 +00:00
e3cbc7e8b8
Make the same changes to the Apple II that were done with 0ee9b2e446
to the C64.
Notes:
- The startup code deliberately doesn't make use of symbols defined for the LC segment as that segment is optional.
- The <...>-asm.cfg configs move the segment BSS to an own memory area BSS although this doesn't seem necessary. However the benefit is that the size of the memeory area MAIN is identical to the number of bytes loaded from disk into RAM. To keep this an invariant for all Apple II configs allows to simplify the EXEHDR to just refer to the symbols defined for MAIN.
17 lines
533 B
ArmAsm
17 lines
533 B
ArmAsm
;
|
|
; Oliver Schmidt, 2012-06-10
|
|
;
|
|
; This module supplies a 4 byte DOS 3.3 header
|
|
; containing the load address and load length.
|
|
;
|
|
|
|
.export __EXEHDR__ : absolute = 1 ; Linker referenced
|
|
.import __MAIN_START__, __MAIN_LAST__ ; Linker generated
|
|
|
|
; ------------------------------------------------------------------------
|
|
|
|
.segment "EXEHDR"
|
|
|
|
.addr __MAIN_START__ ; Load address
|
|
.word __MAIN_LAST__ - __MAIN_START__ ; Load length
|