bsd-_setjmp.S 414 B

123456789101112131415161718192021222324252627
  1. /* BSD `_setjmp' entry point to `sigsetjmp (..., 0)'. H8/300 version. */
  2. #define _ASM
  3. #define _SETJMP_H
  4. #include <bits/setjmp.h>
  5. #ifdef __H8300S__
  6. .h8300s
  7. #else
  8. .h8300h
  9. #endif
  10. .text
  11. .global __setjmp
  12. __setjmp:
  13. add.l #JB_SIZE,er0
  14. mov.l @sp,er1 ; return PC
  15. mov.l er1,@-er0
  16. mov.l sp,@-er0
  17. mov.l er6,@-er0
  18. mov.l er5,@-er0
  19. mov.l er4,@-er0
  20. mov.l er0,er1
  21. sub.l er0,er0
  22. mov.l er0,@(JB_SIZE:16,er1)
  23. rts