| comment "subroutine prologue" | |
| .macro gdbasm_enter | |
| stqd $lr, 16($sp) | |
| stqd $sp, -32($sp) | |
| ai $sp, $sp, -32 | |
| .endm | |
| comment "subroutine epilogue" | |
| .macro gdbasm_leave | |
| ai $sp, $sp, 32 | |
| lqd $lr, 16($sp) | |
| bi $lr | |
| .endm | |
| .macro gdbasm_call subr | |
| brsl $lr, \subr | |
| .endm | |
| .macro gdbasm_several_nops | |
| nop | |
| nop | |
| nop | |
| nop | |
| .endm | |
| comment "exit (0)" | |
| .macro gdbasm_exit0 | |
| stop 0x2000 | |
| stop | |
| stop | |
| stop | |
| .endm | |
| comment "startup" | |
| .macro gdbasm_startup | |
| il $0, 0 | |
| ila $sp, 16368 | |
| stqd $0, 0($sp) | |
| stqd $sp, -32($sp) | |
| ai $sp, $sp, -32 | |
| stqd $0, 16($sp) | |
| .endm |