50 lines
654 B
PHP
50 lines
654 B
PHP
|
comment "subroutine prologue"
|
||
|
.macro gdbasm_enter
|
||
|
alloc r33=ar.pfs,0,2,0,0
|
||
|
mov r32=b0
|
||
|
nop.i 0
|
||
|
.endm
|
||
|
|
||
|
comment "subroutine epilogue"
|
||
|
.macro gdbasm_leave
|
||
|
nop.m 0
|
||
|
mov ar.pfs=r33
|
||
|
mov b0=r32
|
||
|
nop.m 0
|
||
|
nop.f 0
|
||
|
br.ret.sptk.many b0
|
||
|
.endm
|
||
|
|
||
|
.macro gdbasm_call subr
|
||
|
nop.m 0
|
||
|
nop.f 0
|
||
|
br.call.sptk.many b0=\subr
|
||
|
.endm
|
||
|
|
||
|
.macro gdbasm_several_nops
|
||
|
nop.m 0
|
||
|
nop.i 0
|
||
|
nop.i 0
|
||
|
.endm
|
||
|
|
||
|
comment "exit (0)"
|
||
|
.macro gdbasm_exit0
|
||
|
break.m 0x0
|
||
|
nop.m 0
|
||
|
nop.i 0
|
||
|
.endm
|
||
|
|
||
|
comment "crt0 startup"
|
||
|
.macro gdbasm_startup
|
||
|
mov r32=r0
|
||
|
nop.i 0
|
||
|
nop.i 0
|
||
|
.endm
|
||
|
|
||
|
comment "Declare a data variable"
|
||
|
.macro gdbasm_datavar name value
|
||
|
.data
|
||
|
\name:
|
||
|
.long \value
|
||
|
.endm
|