summaryrefslogtreecommitdiff
path: root/src/setjmp/superh/setjmp.s
diff options
context:
space:
mode:
Diffstat (limited to 'src/setjmp/superh/setjmp.s')
-rw-r--r--src/setjmp/superh/setjmp.s25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/setjmp/superh/setjmp.s b/src/setjmp/superh/setjmp.s
new file mode 100644
index 00000000..6127ed90
--- /dev/null
+++ b/src/setjmp/superh/setjmp.s
@@ -0,0 +1,25 @@
+.global __setjmp
+.global _setjmp
+.global setjmp
+.type __setjmp, @function
+.type _setjmp, @function
+.type setjmp, @function
+__setjmp:
+_setjmp:
+setjmp:
+ add #52, r4
+ fmov.s fr15, @-r4
+ fmov.s fr14, @-r4
+ fmov.s fr13, @-r4
+ fmov.s fr12, @-r4
+ sts.l pr, @-r4
+ mov.l r15 @-r4
+ mov.l r14, @-r4
+ mov.l r13, @-r4
+ mov.l r12, @-r4
+ mov.l r11, @-r4
+ mov.l r10, @-r4
+ mov.l r9, @-r4
+ mov.l r8, @-r4
+ rts
+ mov #0, r0