setjmp.s 271 B

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