bsd-setjmp.S 441 B

12345678910111213141516171819202122232425262728
  1. /* BSD `_setjmp' entry point to `sigsetjmp (..., 1)'. H8/300 version. */
  2. #include <jmpbuf-offsets.h>
  3. #ifdef __H8300S__
  4. .h8300s
  5. #else
  6. .h8300h
  7. #endif
  8. .text
  9. .global _setjmp
  10. _setjmp:
  11. add.l #JB_SIZE,er0
  12. mov.l @sp,er1 ; return PC
  13. mov.l er1,@-er0
  14. mov.l sp,@-er0
  15. mov.l er6,@-er0
  16. mov.l er5,@-er0
  17. mov.l er4,@-er0
  18. sub.l er0,er0
  19. #if !defined(__PIC__)
  20. jmp @___sigjmp_save
  21. #else
  22. mov.l @(___sigjmp_save@GOTOFF,er5),er1
  23. jmp @er3
  24. #endif