52 lines
692 B
PHP
52 lines
692 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
|
|
gdbasm_enter
|
|
mov r32=r0
|
|
nop.i 0
|
|
nop.i 0
|
|
.endm
|
|
|
|
comment "Declare a data variable"
|
|
.purgem gdbasm_datavar
|
|
.macro gdbasm_datavar name value
|
|
.data
|
|
\name:
|
|
.long \value
|
|
.endm
|