733094aead
The RP2040 is new microcontroller from Raspberry Pi that features two Cortex M0s and eight PIO state machines that are good for crunching lots of data. It has 264k RAM and a built in UF2 bootloader too. Datasheet: https://pico.raspberrypi.org/files/rp2040_datasheet.pdf
36 lines
615 B
ArmAsm
Executable File
36 lines
615 B
ArmAsm
Executable File
.syntax unified
|
|
.cpu cortex-m0
|
|
.thumb
|
|
.text
|
|
.align 2
|
|
|
|
@ uint cpu_get_regs_and_sp(r0=uint regs[10])
|
|
.global cpu_get_regs_and_sp
|
|
.thumb
|
|
.thumb_func
|
|
.type cpu_get_regs_and_sp, %function
|
|
cpu_get_regs_and_sp:
|
|
@ store registers into given array
|
|
str r4, [r0, #0]
|
|
str r5, [r0, #4]
|
|
str r6, [r0, #8]
|
|
str r7, [r0, #12]
|
|
push {r1}
|
|
mov r1, r8
|
|
str r1, [r0, #16]
|
|
mov r1, r9
|
|
str r1, [r0, #20]
|
|
mov r1, r10
|
|
str r1, [r0, #24]
|
|
mov r1, r11
|
|
str r1, [r0, #28]
|
|
mov r1, r12
|
|
str r1, [r0, #32]
|
|
mov r1, r13
|
|
str r1, [r0, #36]
|
|
pop {r1}
|
|
|
|
@ return the sp
|
|
mov r0, sp
|
|
bx lr
|