setjmp.s 437 B

123456789101112131415161718192021222324
  1. TEXT setjmp(SB), 1, $-4
  2. MOVW R29, (R1)
  3. MOVW R31, 4(R1)
  4. MOVW $0, R1
  5. RET
  6. TEXT sigsetjmp(SB), 1, $-4
  7. MOVW savemask+4(FP), R2
  8. MOVW R2, 0(R1)
  9. MOVW $_psigblocked(SB), R2
  10. MOVW R2, 4(R1)
  11. MOVW R29, 8(R1)
  12. MOVW R31, 12(R1)
  13. MOVW $0, R1
  14. RET
  15. TEXT longjmp(SB), 1, $-4
  16. MOVW r+4(FP), R3
  17. BNE R3, ok /* ansi: "longjmp(0) => longjmp(1)" */
  18. MOVW $1, R3 /* bless their pointed heads */
  19. ok: MOVW (R1), R29
  20. MOVW 4(R1), R31
  21. MOVW R3, R1
  22. RET