58 lines
820 B
PHP
58 lines
820 B
PHP
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
|