Commit | Line | Data |
---|---|---|
42851540 NC |
1 | # Instructions including a register list (opcode is represented as a mask). |
2 | .data | |
3 | foodata: .word 42 | |
4 | .text | |
5 | footext: | |
6 | ||
7 | .global push | |
8 | push: | |
9 | push ra, {r3, r4} | |
10 | push r2 | |
11 | ||
12 | .global pushx | |
13 | pushx: | |
14 | pushx sp, {r0, r1, r2, r3, r4, r5, r6, r7} | |
0be469fa | 15 | pushx r6, {hi, lo} |
42851540 NC |
16 | |
17 | .global pop | |
18 | pop: | |
19 | pop r0, {r10} | |
20 | pop r2 | |
21 | ||
22 | .global popx | |
23 | popx: | |
24 | popx sp, {r0, r1, r3, r4, r5, r6, r7} | |
0be469fa | 25 | popx r7, {lo, hi} |
42851540 NC |
26 | |
27 | .global popret | |
28 | popret: | |
0be469fa | 29 | popret r13, {ra, r1} |
42851540 NC |
30 | popret ra |
31 | ||
32 | .global loadm | |
33 | loadm: | |
0be469fa | 34 | loadm r0, {r1, r6} |
42851540 NC |
35 | |
36 | .global loadma | |
37 | loadma: | |
0be469fa | 38 | loadma r13, {u12, u4, u2} |
42851540 | 39 | |
42851540 NC |
40 | .global storm |
41 | storm: | |
42 | storm r15, {ra} | |
43 | ||
44 | .global storma | |
45 | storma: | |
0be469fa | 46 | storma r3, {u0, u2} |
42851540 | 47 |