diff options
Diffstat (limited to 'libc/sysdeps/linux/m68k/setjmp.s')
-rw-r--r-- | libc/sysdeps/linux/m68k/setjmp.s | 66 |
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" + |