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