setjmp.s 271 B

1234567891011121314
  1. TEXT setjmp(SB), 1, $-8
  2. MOVV R29, (R1)
  3. MOVV R31, 8(R1)
  4. MOVV $0, R1
  5. RET
  6. TEXT longjmp(SB), 1, $-8
  7. MOVW r+8(FP), R3
  8. BNE R3, ok /* ansi: "longjmp(0) => longjmp(1)" */
  9. MOVW $1, R3 /* bless their pointed heads */
  10. ok: MOVV (R1), R29
  11. MOVV 8(R1), R31
  12. MOVV R3, R1
  13. RET