1TEXT 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 */ 6ok: 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 12TEXT 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 19