1 comment "subroutine prologue" 2 .macro gdbasm_enter 3 add -8,sp 4 st.w r31,4[sp] 5 st.w r29,0[sp] 6 mov sp,r29 7 .endm 8 9 comment "subroutine epilogue" 10 .macro gdbasm_leave 11 mov r29,sp 12 ld.w 0[sp],r29 13 ld.w 4[sp],r31 14 add 8,sp 15 jmp [r31] 16 .endm 17 18 .macro gdbasm_call subr 19 jarl \subr,r31 20 .endm 21 22 .macro gdbasm_several_nops 23 nop 24 nop 25 nop 26 nop 27 .endm 28 29 comment "exit (0)" 30 .macro gdbasm_exit0 31 halt 32 .endm 33 34 comment "crt0 startup" 35 .macro gdbasm_startup 36 movea 255,r0,r20 37 mov r0, r21 38 ori 65535, r0, r21 39 movhi 32, r0, sp 40 .endm 41 42