	comment "subroutine prologue"
	.macro gdbasm_enter
	push fp -> push lr
	addi sp,#-4 -> mv fp,sp
	.endm

	comment "subroutine epilogue"
	.macro gdbasm_leave
	addi sp,#4 -> pop lr
	pop fp -> jmp lr
	.endm

	.macro gdbasm_call subr
	bl	\subr
	.endm

	.macro gdbasm_several_nops
	nop
	nop
	nop
	nop
	.endm

	comment "exit (0)"
	.macro gdbasm_exit0
	ldi r0,#1 -> ldi r1,#0
	ldi r2,#0 -> ldi r3,#0
	trap #0 -> nop
	.endm

	comment "crt0 startup"
	.macro gdbasm_startup
	seth sp, #shigh(_stack)
	add3 sp, sp, #low(_stack)
	ldi fp,#0
	.endm
