| comment "subroutine prologue" |
| .macro gdbasm_enter |
| std %rp, -16(%sp) |
| copy %r3, %r1 |
| copy %sp, %r3 |
| std,ma %r1, 128(%sp) |
| .endm |
| |
| comment "subroutine epilogue" |
| .macro gdbasm_leave |
| ldd -16(%r3), %rp |
| bve (%rp) |
| ldd,mb -128(%sp), %r3 |
| .endm |
| |
| .macro gdbasm_call subr |
| b,l \subr , %rp |
| nop |
| .endm |
| |
| .macro gdbasm_several_nops |
| nop |
| nop |
| nop |
| nop |
| .endm |
| |
| comment "exit (0)" |
| .macro gdbasm_exit0 |
| comment "Don't know how to exit, but this will certainly halt..." |
| ldw 0(%r0), %r1 |
| .endm |
| |
| comment "crt0 startup" |
| .macro gdbasm_startup |
| .align 8 |
| .endm |
| |
| comment "Declare a data variable" |
| .purgem gdbasm_datavar |
| .macro gdbasm_datavar name value |
| .data |
| \name: |
| .long \value |
| .endm |
| |