1	comment "subroutine prologue"
2	.macro gdbasm_enter
3	mov.w	r6,@-r7
4	mov.w	r7,r6
5	subs	#2,r7
6	.endm
7
8	comment "subroutine epilogue"
9	.macro gdbasm_leave
10	adds	#2,r7
11	mov.w	@r7+,r6
12	rts
13	.endm
14
15	.macro gdbasm_call subr
16	jsr @\subr
17	.endm
18
19	.macro gdbasm_several_nops
20	nop
21	nop
22	nop
23	nop
24	.endm
25
26	comment "exit (0)"
27	.macro gdbasm_exit0
28	mov.w #0xdead,r1
29	mov.w #0xbeef,r2
30	mov.w #0,r0
31	sleep
32	.endm
33
34	comment "crt0 startup"
35	.macro gdbasm_startup
36	.section .stack
37_stack:	.long 1
38	.section .text
39	.global _start
40_start:
41	mov.w	#0,r6
42	mov.w	#_stack,sp	; or mov.l #_stack,sp
43	mov.w	#_edata,r0
44	mov.w	#_end,r1
45	sub.w   r2,r2
46.loop:	mov.w	r2,@r0
47	adds	#2,r0
48	cmp	r1,r0
49	blo	.loop
50	.endm
51