2 Copyright © 1995-2007, The AROS Development Team. All rights reserved.
5 Desc: ANSI C function setjmp()
9 /******************************************************************************
14 int setjmp (jmp_buf env);
17 Save the current context so that you can return to it later.
20 env - The context/environment is saved here for later restoring
23 0 if it returns from setjmp() and 1 when it returns from longjmp().
34 ... this code is executed after setjmp() returns ...
36 // This is no good example on how to use this function
37 // You should not do that
45 ... this code is executed if you call longjmp(env) ...
56 12.10.1999 Code rewritten according to glibc
57 ******************************************************************************/
59 #include "aros/ppc/asm.h"
63 .global AROS_CDEFNAME(setjmp)
64 _FUNCTION
(AROS_CDEFNAME
(setjmp
))
66 AROS_CDEFNAME
(setjmp
):
71 stfd %f14,((22+0*2)*4)(3)
74 stfd %f15,((22+1*2)*4)(3)
77 stfd %f16,((22+2*2)*4)(3)
80 stfd %f17,((22+3*2)*4)(3)
82 stfd %f18,((22+4*2)*4)(3)
84 stfd %f19,((22+5*2)*4)(3)
86 stfd %f20,((22+6*2)*4)(3)
88 stfd %f21,((22+7*2)*4)(3)
90 stfd %f22,((22+8*2)*4)(3)
92 stfd %f23,((22+9*2)*4)(3)
93 stw %r24,((3+10)*4)(3)
94 stfd %f24,((22+10*2)*4)(3)
95 stw %r25,((3+11)*4)(3)
96 stfd %f25,((22+11*2)*4)(3)
97 stw %r26,((3+12)*4)(3)
98 stfd %f26,((22+12*2)*4)(3)
99 stw %r27,((3+13)*4)(3)
100 stfd %f27,((22+13*2)*4)(3)
101 stw %r28,((3+14)*4)(3)
102 stfd %f28,((22+14*2)*4)(3)
103 stw %r29,((3+15)*4)(3)
104 stfd %f29,((22+15*2)*4)(3)
105 stw %r30,((3+16)*4)(3)
106 stfd %f30,((22+16*2)*4)(3)
107 stw %r31,((3+17)*4)(3)
108 stfd %f31,((22+17*2)*4)(3)