comment "subroutine prologue"
	.macro gdbasm_enter
	addiu %29, %29, 0xfffc
	sw %31,0(%29)
	.endm

	comment "subroutine epilogue"
	.macro gdbasm_leave
	lw %31,0(%29)
	addiu %29, %29, 4
	jr %31
	nop
	.endm

	.macro gdbasm_call subr
	jal \subr
	nop
	.endm

	.macro gdbasm_several_nops
	nop
	nop
	nop
	nop
	.endm

	comment "exit (0)"
	.macro gdbasm_exit0
	ori  %4, %0, 1	# SYS_exit
	ori  %5, %0, 0	# normal exit code
	ori  %6, %0, 0
	ori  %7, %0, 0
	syscall
	.endm

	comment "crt0 startup"
	.macro gdbasm_startup
	andi %0, %0, 0
	addiu %29, %0, 0xffc
	.endm