62 lines
615 B
ArmAsm
62 lines
615 B
ArmAsm
|
;; Generic crt0.s for rrgb
|
||
|
.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
|
||
|
jp 0x150
|
||
|
|
||
|
.org 0x150
|
||
|
init:
|
||
|
di
|
||
|
;; Stack at the top of memory.
|
||
|
ld sp,#0xdfff
|
||
|
|
||
|
call _main
|
||
|
jp _exit
|
||
|
|
||
|
;; Ordering of segments for the linker.
|
||
|
.area _CODE
|
||
|
.area _DATA
|
||
|
|
||
|
__clock::
|
||
|
ld a,#2
|
||
|
rst 0x00
|
||
|
ret
|
||
|
|
||
|
_getsp::
|
||
|
ld hl,#0
|
||
|
add hl,sp
|
||
|
ret
|
||
|
|
||
|
__printTStates::
|
||
|
ld a,#3
|
||
|
rst 0x00
|
||
|
ret
|
||
|
|
||
|
_exit::
|
||
|
;; Exit - special code to the emulator
|
||
|
ld a,#1
|
||
|
rst 0x00
|
||
|
1$:
|
||
|
halt
|
||
|
jr 1$
|