summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/m68k/setjmp.s
diff options
context:
space:
mode:
Diffstat (limited to 'libc/sysdeps/linux/m68k/setjmp.s')
-rw-r--r--libc/sysdeps/linux/m68k/setjmp.s66
1 files changed, 66 insertions, 0 deletions
diff --git a/libc/sysdeps/linux/m68k/setjmp.s b/libc/sysdeps/linux/m68k/setjmp.s
new file mode 100644
index 000000000..2de2e1708
--- /dev/null
+++ b/libc/sysdeps/linux/m68k/setjmp.s
@@ -0,0 +1,66 @@
+# 1 "setjmp.S"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+.global setjmp
+.global longjmp
+
+ setjmp :
+ moveal %sp @(4), %a0
+ movel %sp @(0), %a0 @(12)
+ movel %sp , %a0 @(8)
+ moveml %d2 - %d7 / %a2 - %a6 , %a0 @(20)
+ clrl %d0
+ rts
+
+ longjmp :
+ moveal %sp @(4), %a0
+ movel %sp @(8), %d0
+ bne 1f
+ movel #1, %d0
+1:
+ moveml %a0 @(20), %d2 - %d7 / %a2 - %a6
+ moveal %a0 @(8), %sp
+ movel %a0 @(12), %sp @
+ rts
+
+# 88 "setjmp.S"
+