__longjmp.S 286 B

12345678910111213141516171819202122
  1. #ifdef __H8300S__
  2. .h8300s
  3. #else
  4. .h8300h
  5. #endif
  6. .text
  7. .global ___longjmp
  8. ___longjmp:
  9. mov.l er1,er1
  10. bne 1f
  11. sub.l er1,er1
  12. inc.l #1,er1
  13. 1:
  14. mov.l @er0+,er4
  15. mov.l @er0+,er5
  16. mov.l @er0+,er6
  17. mov.l @er0+,sp
  18. mov.l @er0+,er3 ; return PC
  19. adds #4,sp ; adjust return stack
  20. jmp @er3