1 comment "subroutine prologue" 2 .macro gdbasm_enter 3 push fp -> push lr 4 addi sp,#-4 -> mv fp,sp 5 .endm 6 7 comment "subroutine epilogue" 8 .macro gdbasm_leave 9 addi sp,#4 -> pop lr 10 pop fp -> jmp lr 11 .endm 12 13 .macro gdbasm_call subr 14 bl \subr 15 .endm 16 17 .macro gdbasm_several_nops 18 nop 19 nop 20 nop 21 nop 22 .endm 23 24 comment "exit (0)" 25 .macro gdbasm_exit0 26 ldi r0,#1 -> ldi r1,#0 27 ldi r2,#0 -> ldi r3,#0 28 trap #0 -> nop 29 .endm 30 31 comment "crt0 startup" 32 .macro gdbasm_startup 33 ldi fp,#0 34 .endm 35