ref: f88a55e79b5bf656e7f9578d1318a955b9a4963a
dir: /sys/src/libc/386/setjmp.s/
TEXT longjmp(SB), $0 MOVL r+4(FP), AX CMPL AX, $0 JNE ok /* ansi: "longjmp(0) => longjmp(1)" */ MOVL $1, AX /* bless their pointed heads */ ok: MOVL l+0(FP), BX MOVL 0(BX), SP /* restore sp */ MOVL 4(BX), BX /* put return pc on the stack */ MOVL BX, 0(SP) RET TEXT setjmp(SB), $0 MOVL l+0(FP), AX MOVL SP, 0(AX) /* store sp */ MOVL 0(SP), BX /* store return pc */ MOVL BX, 4(AX) MOVL $0, AX /* return 0 */ RET