summaryrefslogtreecommitdiff
path: root/newlib/libc/machine/h8500/setjmp.S
diff options
context:
space:
mode:
Diffstat (limited to 'newlib/libc/machine/h8500/setjmp.S')
-rw-r--r--newlib/libc/machine/h8500/setjmp.S27
1 files changed, 27 insertions, 0 deletions
diff --git a/newlib/libc/machine/h8500/setjmp.S b/newlib/libc/machine/h8500/setjmp.S
new file mode 100644
index 00000000000..4b25fc0c928
--- /dev/null
+++ b/newlib/libc/machine/h8500/setjmp.S
@@ -0,0 +1,27 @@
+!
+ .file "setjmp.S"
+ .section .text
+
+ .global _setjmp
+_setjmp:
+ mov.w r7,@r0+
+ mov.w r6,@r0+
+ mov.w r5,@r0+
+ mov.w @sp,r1
+ mov.w r1,@r0
+ clr.w r0
+ rts
+
+ .global _longjmp
+_longjmp:
+ mov.w @r0+,r7
+ mov.w @r0+,r6
+ mov.w @r0+,r5
+ mov.w @r0,r2
+ mov.w r2,@sp
+ mov.w r1,r0
+ tst.w r0
+ bne .L1
+ mov.w #1,r0
+.L1:
+ rts