diff options
Diffstat (limited to 'newlib/libc/machine/v850/setjmp.S')
-rw-r--r-- | newlib/libc/machine/v850/setjmp.S | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/newlib/libc/machine/v850/setjmp.S b/newlib/libc/machine/v850/setjmp.S new file mode 100644 index 0000000..b0da8e8 --- /dev/null +++ b/newlib/libc/machine/v850/setjmp.S @@ -0,0 +1,42 @@ + .file "setjmp.S" + + .section .text + .align 1 + .global _setjmp +_setjmp: + st.w r0,0[r6] + st.w r3,4[r6] + st.w r4,8[r6] + st.w r20,12[r6] + st.w r21,16[r6] + st.w r22,20[r6] + st.w r23,24[r6] + st.w r24,28[r6] + st.w r25,32[r6] + st.w r26,36[r6] + st.w r27,40[r6] + st.w r28,44[r6] + st.w r29,48[r6] + st.w r30,52[r6] + st.w r31,56[r6] + jmp [r31] + + .global _longjmp +_longjmp: + ld.w 0[r6],r0 + ld.w 4[r6],r3 + ld.w 8[r6],r4 + ld.w 12[r6],r20 + ld.w 16[r6],r21 + ld.w 20[r6],r22 + ld.w 24[r6],r23 + ld.w 28[r6],r24 + ld.w 32[r6],r25 + ld.w 36[r6],r26 + ld.w 40[r6],r27 + ld.w 44[r6],r28 + ld.w 48[r6],r29 + ld.w 52[r6],r30 + ld.w 56[r6],r31 + mov 1,r10 + jmp [r31] |