1 1.1 christos comment "subroutine prologue" 2 1.1 christos .macro gdbasm_enter 3 1.1 christos alloc r33=ar.pfs,0,2,0,0 4 1.1 christos mov r32=b0 5 1.1 christos nop.i 0 6 1.1 christos .endm 7 1.1 christos 8 1.1 christos comment "subroutine epilogue" 9 1.1 christos .macro gdbasm_leave 10 1.1 christos nop.m 0 11 1.1 christos mov ar.pfs=r33 12 1.1 christos mov b0=r32 13 1.1 christos nop.m 0 14 1.1 christos nop.f 0 15 1.1 christos br.ret.sptk.many b0 16 1.1 christos .endm 17 1.1 christos 18 1.1 christos .macro gdbasm_call subr 19 1.1 christos nop.m 0 20 1.1 christos nop.f 0 21 1.1 christos br.call.sptk.many b0=\subr 22 1.1 christos .endm 23 1.1 christos 24 1.1 christos .macro gdbasm_several_nops 25 1.1 christos nop.m 0 26 1.1 christos nop.i 0 27 1.1 christos nop.i 0 28 1.1 christos .endm 29 1.1 christos 30 1.1 christos comment "exit (0)" 31 1.1 christos .macro gdbasm_exit0 32 1.1 christos break.m 0x0 33 1.1 christos nop.m 0 34 1.1 christos nop.i 0 35 1.1 christos .endm 36 1.1 christos 37 1.1 christos comment "crt0 startup" 38 1.1 christos .macro gdbasm_startup 39 1.1 christos gdbasm_enter 40 1.1 christos mov r32=r0 41 1.1 christos nop.i 0 42 1.1 christos nop.i 0 43 1.1 christos .endm 44 1.1 christos 45 1.1 christos comment "Declare a data variable" 46 1.1 christos .purgem gdbasm_datavar 47 1.1 christos .macro gdbasm_datavar name value 48 1.1 christos .data 49 1.1 christos \name: 50 1.1 christos .long \value 51 1.1 christos .endm 52