1	comment "subroutine prologue"
2	.macro gdbasm_enter
3	push fp -> push lr
4	addi sp,#-4 -> mv fp,sp
5	.endm
6
7	comment "subroutine epilogue"
8	.macro gdbasm_leave
9	addi sp,#4 -> pop lr
10	pop fp -> jmp lr
11	.endm
12
13	.macro gdbasm_call subr
14	bl	\subr
15	.endm
16
17	.macro gdbasm_several_nops
18	nop
19	nop
20	nop
21	nop
22	.endm
23
24	comment "exit (0)"
25	.macro gdbasm_exit0
26	ldi r0,#1 -> ldi r1,#0
27	ldi r2,#0 -> ldi r3,#0
28	trap #0 -> nop
29	.endm
30
31	comment "crt0 startup"
32	.macro gdbasm_startup
33	seth sp, #shigh(_stack)
34	add3 sp, sp, #low(_stack)
35	ldi fp,#0
36	.endm
37