ref: 5af61e312772ca2a42c19f40cecf40e8d2c3e800
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