mirror of
https://github.com/oliverschmidt/contiki.git
synced 2024-11-03 22:06:22 +00:00
49 lines
721 B
ArmAsm
49 lines
721 B
ArmAsm
|
;; crt0.S for Contiki
|
||
|
.module crt0
|
||
|
.globl _main
|
||
|
|
||
|
.area _HEADER (ABS)
|
||
|
.org 0
|
||
|
jp init
|
||
|
|
||
|
;; Ordering of segments for the linker.
|
||
|
.area _HOME
|
||
|
.area _CODE
|
||
|
.area _GSINIT
|
||
|
.area _GSFINAL
|
||
|
.area _DATA
|
||
|
.area _DATAFINAL
|
||
|
.area _BSS
|
||
|
.area _HEAP
|
||
|
|
||
|
.area _CODE
|
||
|
init::
|
||
|
;; Clear global variables
|
||
|
ld hl, #_datastart
|
||
|
ld bc, #_dataend
|
||
|
_clear_loop:
|
||
|
ld a, h
|
||
|
sub b
|
||
|
jr nz, _clear_next
|
||
|
ld a, l
|
||
|
sub c
|
||
|
jr z, _clear_exit
|
||
|
_clear_next:
|
||
|
ld (hl), #0
|
||
|
inc hl
|
||
|
jr _clear_loop
|
||
|
_clear_exit:
|
||
|
;; Initialize global variables
|
||
|
call gsinit
|
||
|
jp _main
|
||
|
|
||
|
.area _GSINIT
|
||
|
gsinit::
|
||
|
|
||
|
.area _GSFINAL
|
||
|
ret
|
||
|
.area _DATA
|
||
|
_datastart::
|
||
|
.area _DATAFINAL
|
||
|
_dataend::
|