26 lines
442 B
ArmAsm
26 lines
442 B
ArmAsm
.global setjmp
|
|
setjmp:
|
|
stm r0!, {r4-r12,lr}
|
|
mov r1, sp
|
|
ldm r0!, {r1}
|
|
#ifdef __ARM_NEON__
|
|
vstm r0!, {d8-d15}
|
|
#endif // __ARM_NEON__
|
|
mov r0, #0
|
|
bx lr
|
|
|
|
.global longjmp
|
|
longjmp:
|
|
ldm r0!, {r4-r12,lr}
|
|
ldm r0!, {r1}
|
|
mov sp, r1
|
|
#ifdef __ARM_NEON__
|
|
vldm r0!, {d8-d15}
|
|
#endif // __ARM_NEON__
|
|
mov r0, r1
|
|
cmp r0, #0
|
|
bne 1f
|
|
mov r0, #1
|
|
1:
|
|
bx lr
|