;; 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::