gbdk-releases/gbdk-lib/libc/consolez80/crt0.s
2015-01-10 16:25:09 +01:00

63 lines
703 B
ArmAsm

;; Generic crt0.s for a Z80
.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 0x150
init:
;; Stack at the top of memory.
ld sp,#0xffff
;; Use _main instead of main to bypass sdcc's intelligence
ei
call _main
jp _exit
;; Ordering of segments for the linker.
.area _HOME
.area _BASE
.area _CODE
.area _DATA
.area _CODE
_clock::
ld a,#2
out (0xff),a
ret
_getsp::
ld hl,#0
add hl,sp
ret
__printTStates::
ld a,#3
out (0xff),a
ret
_exit::
;; Exit - special code to the emulator
ld a,#1
out (0xff),a
1$:
halt
jr 1$