setjmp.s 284 B

123456789101112131415
  1. TEXT setjmp(SB), 1, $0
  2. MOVL b+0(FP), A0
  3. MOVL A7, (A0)+
  4. MOVL (A7), (A0)
  5. CLRL R0
  6. RTS
  7. TEXT longjmp(SB), 1, $0
  8. MOVL b+0(FP), A0
  9. MOVL r+4(FP), R0
  10. BNE ok /* ansi: "longjmp(0) => longjmp(1)" */
  11. MOVL $1, R0 /* bless their pointed heads */
  12. ok: MOVL (A0)+, A7
  13. MOVL (A0), (A7)
  14. RTS