starting to separate platform-specific code to facilitate a PC build
[gbajam22] / src / gba / asmutil.s
1         .text
2         .thumb
3
4         .globl fillblock_16byte
5 fillblock_16byte:
6         push {r4-r6}
7         mov r3, r1
8         mov r4, r1
9         mov r5, r1
10         mov r6, r1
11 0:      stmia r0!, {r3, r4, r5, r6}
12         sub r2, #1
13         bne 0b
14         pop {r4-r6}
15         bx lr
16
17         .globl get_pc
18 get_pc:
19         mov r0, lr
20         bx lr
21
22         .globl get_sp
23 get_sp:
24         mov r0, sp
25         bx lr
26
27         .arm
28         .extern panic_regs
29         .globl get_panic_regs
30         .type get_panic_regs, %function
31 get_panic_regs:
32         stmfd sp!, {sp, lr}
33         ldr lr, =panic_regs
34         stm lr, {r0-r15}
35         ldmfd sp!, {r0, lr}
36         ldr r0, =panic_regs + 13 * 4
37         stm r0, {sp, lr}
38         bx lr