x_bsun.S 990 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. |
  2. | x_bsun.sa 3.3 7/1/91
  3. |
  4. | fpsp_bsun --- FPSP handler for branch/set on unordered exception
  5. |
  6. | Copy the PC to FPIAR to maintain 881/882 compatibility
  7. |
  8. | The real_bsun handler will need to perform further corrective
  9. | measures as outlined in the 040 User's Manual on pages
  10. | 9-41f, section 9.8.3.
  11. |
  12. | Copyright (C) Motorola, Inc. 1990
  13. | All Rights Reserved
  14. |
  15. | For details on the license for this file, please see the
  16. | file, README, in this same directory.
  17. X_BSUN: |idnt 2,1 | Motorola 040 Floating Point Software Package
  18. |section 8
  19. #include "fpsp.h"
  20. |xref real_bsun
  21. .global fpsp_bsun
  22. fpsp_bsun:
  23. |
  24. link %a6,#-LOCAL_SIZE
  25. fsave -(%a7)
  26. moveml %d0-%d1/%a0-%a1,USER_DA(%a6)
  27. fmovemx %fp0-%fp3,USER_FP0(%a6)
  28. fmoveml %fpcr/%fpsr/%fpiar,USER_FPCR(%a6)
  29. |
  30. movel EXC_PC(%a6),USER_FPIAR(%a6)
  31. |
  32. moveml USER_DA(%a6),%d0-%d1/%a0-%a1
  33. fmovemx USER_FP0(%a6),%fp0-%fp3
  34. fmoveml USER_FPCR(%a6),%fpcr/%fpsr/%fpiar
  35. frestore (%a7)+
  36. unlk %a6
  37. bral real_bsun
  38. |
  39. |end