]> git.lizzy.rs Git - plan9front.git/blob - sys/src/libc/386/setjmp.s
audiohda: make it work with sb600 onboard sound
[plan9front.git] / sys / src / libc / 386 / setjmp.s
1 TEXT    longjmp(SB), $0
2         MOVL    r+4(FP), AX
3         CMPL    AX, $0
4         JNE     ok              /* ansi: "longjmp(0) => longjmp(1)" */
5         MOVL    $1, AX          /* bless their pointed heads */
6 ok:     MOVL    l+0(FP), BX
7         MOVL    0(BX), SP       /* restore sp */
8         MOVL    4(BX), BX       /* put return pc on the stack */
9         MOVL    BX, 0(SP)
10         RET
11
12 TEXT    setjmp(SB), $0
13         MOVL    l+0(FP), AX
14         MOVL    SP, 0(AX)       /* store sp */
15         MOVL    0(SP), BX       /* store return pc */
16         MOVL    BX, 4(AX)
17         MOVL    $0, AX          /* return 0 */
18         RET