sim.s 396 B

12345678910111213141516171819202122232425262728293031
  1. #
  2. .sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
  3. .sect .text
  4. .define sim~
  5. .extern trpim~
  6. ! $Id$
  7. #define float
  8. sim~:
  9. mov (sp)+,r3
  10. mov (sp)+,r0
  11. mov r0,trpim~
  12. #ifdef float
  13. stfps r1
  14. bis $07400,r1
  15. bit $020,r0
  16. beq 0f
  17. bic $01000,r1
  18. 0: bit $040,r0
  19. beq 0f
  20. bic $02000,r1
  21. 0: bit $01000,r0
  22. beq 0f
  23. bic $04000,r1
  24. 0: bit $02000,r0
  25. beq 0f
  26. bic $0400,r1
  27. 0: ldfps r1
  28. #endif
  29. jmp (r3)