bsd-_setjmp.S 386 B

12345678910111213141516171819202122232425
  1. /* BSD `_setjmp' entry point to `sigsetjmp (..., 0)'. 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. mov.l er0,er1
  19. sub.l er0,er0
  20. mov.l er0,@(JB_SIZE:16,er1)
  21. rts