]>
Commit | Line | Data |
---|---|---|
3a4c9371 KB |
1 | comment "subroutine prologue" |
2 | .macro gdbasm_enter | |
3 | addi sp,#-16,sp | |
4 | sti fp, @(sp,0) | |
5 | mov sp, fp | |
6 | movsg lr, gr5 | |
7 | sti gr5, @(fp,8) | |
8 | .endm | |
9 | ||
10 | comment "subroutine epilogue" | |
11 | .macro gdbasm_leave | |
12 | ldi @(fp,8), gr5 | |
13 | ld @(fp,gr0), fp | |
14 | addi sp,#16,sp | |
15 | jmpl @(gr5,gr0) | |
16 | .endm | |
17 | ||
18 | .macro gdbasm_call subr | |
19 | call \subr | |
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 | comment "Don't know how to exit, but this will certainly halt..." | |
32 | ldi @(gr0,0), gr5 | |
33 | .endm | |
34 | ||
35 | comment "crt0 startup" | |
36 | .macro gdbasm_startup | |
37 | call .Lcall | |
38 | .Lcall: movsg lr, gr4 | |
39 | sethi #gprelhi(.Lcall), gr5 | |
40 | setlo #gprello(.Lcall), gr5 | |
41 | sub gr4, gr5, gr16 | |
42 | ||
43 | sethi #gprelhi(_stack), sp | |
44 | setlo #gprello(_stack), sp | |
45 | setlos #0, fp | |
46 | add sp, gr16, sp | |
47 | .endm | |
48 | ||
49 | comment "Declare a data variable" | |
584b6e9e | 50 | .purgem gdbasm_datavar |
3a4c9371 KB |
51 | .macro gdbasm_datavar name value |
52 | .data | |
53 | \name: | |
54 | .long \value | |
55 | .endm |