60 lines
789 B
Z80 Assembly
60 lines
789 B
Z80 Assembly
;--------------------------------------------------------------------------
|
|
; mycrt0.s - Generic crt0.s for a Z80
|
|
;
|
|
; Copyright (C) 2017, Paolo Iocco
|
|
;
|
|
;--------------------------------------------------------------------------
|
|
|
|
.module crt0
|
|
.globl _main
|
|
|
|
.area _HEADER (ABS)
|
|
;; Reset vector
|
|
.org 0
|
|
jp init
|
|
|
|
.org 0x08
|
|
reti
|
|
.org 0x10
|
|
reti
|
|
.org 0x18
|
|
reti
|
|
.org 0x20
|
|
reti
|
|
.org 0x28
|
|
reti
|
|
.org 0x30
|
|
reti
|
|
.org 0x38
|
|
reti
|
|
|
|
.org 0x100
|
|
init:
|
|
;; Set stack pointer directly above top of memory.
|
|
ld sp,#0x3fff
|
|
|
|
call _main
|
|
jp exit
|
|
|
|
;; Ordering of segments for the linker.
|
|
.area _HOME
|
|
.area _CODE
|
|
.area _INITIALIZER
|
|
.area _GSINIT
|
|
.area _GSFINAL
|
|
|
|
.area _DATA
|
|
.area _INITIALIZED
|
|
.area _BSEG
|
|
.area _BSS
|
|
.area _HEAP
|
|
|
|
.area _CODE
|
|
|
|
exit:
|
|
halt
|
|
jr exit
|
|
|
|
; ret
|
|
|