dec21140A ethernet driver for virtualpc, contributed by nicolas tittley.
[minix.git] / lib / gnu / rts / longjmp.gs
blob839385ae400536818f0766754f1cce311cdcc0bf
1 / longjmp.gnu.s
3 / Created:      Oct 15, 1993 by Philip Homburg <philip@cs.vu.nl>
5 .text
6 .globl _longjmp
7 _longjmp:
8         movl    4(%esp), %eax           # jmp_buf
9         cmpl    $0, 0(%eax)                     # save mask?
10         je              1f
11         leal    4(%eax), %edx           # pointer to sigset_t
12         pushl   %edx
13         call    ___oldsigset            # restore mask
14         addl    $4, %esp
15         movl    4(%esp), %eax           # jmp_buf
16 1:      
17         movl    8(%esp), %ecx           # result value
18         movl    12(%eax), %esp          # restore stack pointer
20         movl    8(%eax), %edx           # restore program counter
21         movl    %edx, 0(%esp)
23         pushl   %ecx                    # save result code
24         
25         movl    16(%eax), %ebp          # restore frame pointer
26         movl    20(%eax), %ebx
27         movl    24(%eax), %ecx
28         movl    28(%eax), %edx
29         movl    32(%eax), %esi
30         movl    36(%eax), %edi
31         pop     %eax
32         testl   %eax, %eax
33         jz      1f
34         ret
35 1:      movl    $1, %eax
36         ret
38 / $PchId: longjmp.gnu.s,v 1.4 1996/03/12 19:30:02 philip Exp $