1
0
mirror of https://github.com/sehugg/8bitworkshop.git synced 2024-06-13 09:29:35 +00:00
8bitworkshop/src/worker/lib/cpc/crt0-cpc.lst
2021-12-02 13:01:02 -06:00

81 lines
4.1 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

ASxxxx Assembler V02.00 + NoICE + SDCC mods (Zilog Z80 / Hitachi HD64180 / ZX-Next / eZ80), page 1.
Hexadecimal [24-Bits]
1 ; crt0.s for ZX Spectrum
2
3 .module crt0
4 .globl _main
5 .globl ___sdcc_call_hl
6 .globl l__DATA
7 .globl s__DATA
8 .globl s__INITIALIZED
9 .globl s__INITIALIZER
10 .globl l__INITIALIZER
11
12 ; Ordering of segments for the linker - copied from sdcc crt0.s
13 .area _CODE
14 .area _INITIALIZER
15 .area _HOME
16 .area _GSINIT
17 .area _GSFINAL
18 .area _DATA
19 .area _INITIALIZED
20 .area _BSEG
21 .area _BSS
22 .area _HEAP
23
24 .area _CODE
25
000000 26 _Start:
27 ;di
28 ;im 1
29 ; stack pointer already set by BIOS
000000 CD 00 00 [17] 30 call gsinit ; Initialize global and static variables.
000003 CD 00 00 [17] 31 call _main
000006 C7 [11] 32 rst 0x0 ; Restart when main() returns.
33
34 .area _GSINIT
000000 35 gsinit::
36
37 ; Implicitly zeroed global and static variables.
000000 01 00 00 [10] 38 ld bc, #l__DATA
000003 78 [ 4] 39 ld a, b
000004 B1 [ 4] 40 or a, c
000005 28 0F [12] 41 jr Z, zeroed_data
000007 21 00 00 [10] 42 ld hl, #s__DATA
00000A 36 00 [10] 43 ld (hl), #0x00
00000C 0B [ 6] 44 dec bc
00000D 78 [ 4] 45 ld a, b
00000E B1 [ 4] 46 or a, c
00000F 28 05 [12] 47 jr Z, zeroed_data
000011 5D [ 4] 48 ld e, l
000012 54 [ 4] 49 ld d, h
000013 13 [ 6] 50 inc de
000014 ED B0 [21] 51 ldir
000016 52 zeroed_data:
53
54 ; Explicitly initialized global variables.
000016 01 00 00 [10] 55 ld bc, #l__INITIALIZER
ASxxxx Assembler V02.00 + NoICE + SDCC mods (Zilog Z80 / Hitachi HD64180 / ZX-Next / eZ80), page 2.
Hexadecimal [24-Bits]
000019 78 [ 4] 56 ld a, b
00001A B1 [ 4] 57 or a, c
00001B 28 08 [12] 58 jr Z, gsinit_static
00001D 11 00 00 [10] 59 ld de, #s__INITIALIZED
000020 21 00 00 [10] 60 ld hl, #s__INITIALIZER
000023 ED B0 [21] 61 ldir
62
000025 63 gsinit_static:
64 ; Explicitly initialized static variables inserted by compiler here.
65
66 .area _GSFINAL
000000 C9 [10] 67 ret
68
69 .area _HOME
70