|  | comment "subroutine declare" | 
|  | .purgem gdbasm_declare | 
|  | .macro gdbasm_declare name | 
|  | .section	".opd","aw" | 
|  | \name: | 
|  | .quad .\name, .TOC.@tocbase, 0 | 
|  | .section	".text" | 
|  | .type	\name, @function | 
|  | .\name: | 
|  | .endm | 
|  |  | 
|  | comment "subroutine prologue" | 
|  | .macro gdbasm_enter | 
|  | stdu 1, -112(1) | 
|  | mflr 0 | 
|  | std 0, 128(1) | 
|  | .endm | 
|  |  | 
|  | comment "subroutine epilogue" | 
|  | .macro gdbasm_leave | 
|  | ld 0, 128(1) | 
|  | mtlr 0 | 
|  | ld 1, 0(1) | 
|  | blr | 
|  | .endm | 
|  |  | 
|  | .macro gdbasm_call subr | 
|  | bl \subr | 
|  | nop | 
|  | .endm | 
|  |  | 
|  | .macro gdbasm_several_nops | 
|  | nop | 
|  | nop | 
|  | nop | 
|  | nop | 
|  | .endm | 
|  |  | 
|  | comment "exit (0)" | 
|  | .macro gdbasm_exit0 | 
|  | comment "sys_exit" | 
|  | li	0, 1 | 
|  | sc | 
|  | .endm | 
|  |  | 
|  | comment "crt0 startup" | 
|  | .macro gdbasm_startup | 
|  | .p2align 2 | 
|  | .endm | 
|  |  | 
|  | comment "Declare a data variable" | 
|  | .purgem gdbasm_datavar | 
|  | .macro gdbasm_datavar name value | 
|  | .section	".data" | 
|  | \name: | 
|  | .long \value | 
|  | .endm |