_setjmp.S revision 1.1 1 1.1 thorpej /* $NetBSD: _setjmp.S,v 1.1 1997/03/29 20:55:53 thorpej Exp $ */
2 1.1 thorpej
3 1.1 thorpej #include <machine/asm.h>
4 1.1 thorpej
5 1.1 thorpej #if defined(LIBC_SCCS)
6 1.1 thorpej .text
7 1.1 thorpej .asciz "$NetBSD: _setjmp.S,v 1.1 1997/03/29 20:55:53 thorpej Exp $"
8 1.1 thorpej #endif
9 1.1 thorpej
10 1.1 thorpej /*
11 1.1 thorpej * C library -- _setjmp, _longjmp
12 1.1 thorpej *
13 1.1 thorpej * _longjmp(a,v)
14 1.1 thorpej * will generate a "return(v?v:1)" from the last call to
15 1.1 thorpej * _setjmp(a)
16 1.1 thorpej * by restoring registers from the stack.
17 1.1 thorpej * The previous signal state is NOT restored.
18 1.1 thorpej */
19 1.1 thorpej
20 1.1 thorpej ENTRY(_setjmp)
21 1.1 thorpej mflr 11
22 1.1 thorpej mfcr 12
23 1.1 thorpej mr 10,1
24 1.1 thorpej mr 9,2
25 1.1 thorpej stmw 9,8(3)
26 1.1 thorpej li 3,0
27 1.1 thorpej blr
28 1.1 thorpej
29 1.1 thorpej ENTRY(_longjmp)
30 1.1 thorpej lmw 9,8(3)
31 1.1 thorpej mtlr 11
32 1.1 thorpej mtcr 12
33 1.1 thorpej mr 2,9
34 1.1 thorpej mr 1,10
35 1.1 thorpej or. 3,4,4
36 1.1 thorpej bnelr
37 1.1 thorpej li 3,1
38 1.1 thorpej blr
39