t-sadd.s 945 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. # mach: all
  2. # output:
  3. # sim: --environment operating
  4. .include "t-macros.i"
  5. start
  6. PSW_BITS = PSW_FX|PSW_ST|PSW_SM
  7. loadpsw2 PSW_BITS
  8. ;; Test normal sadd
  9. loadacc2 a0 0x00 0x7fff 0xffff
  10. loadacc2 a1 0xff 0x8000 0x0000
  11. sadd a1, a0
  12. checkacc2 1 a0 0x00 0x7fff 0xffff
  13. checkacc2 2 a1 0xff 0x8000 0x7fff
  14. ;; Test overflow
  15. loadacc2 a0 0x00 0x0000 0x0000
  16. loadacc2 a1 0x01 0x8000 0x0000
  17. sadd a1, a0
  18. checkacc2 3 a0 0x00 0x0000 0x0000
  19. checkacc2 4 a1 0x00 0x7fff 0xffff
  20. loadacc2 a0 0x00 0xffff 0xffff
  21. loadacc2 a1 0x00 0xffff 0xffff
  22. sadd a1, a0
  23. checkacc2 5 a1 0x00 0x7fff 0xffff
  24. checkacc2 6 a0 0x00 0xffff 0xffff
  25. ;; Test underflow
  26. loadacc2 a0 0x00 0x0000 0x0000
  27. loadacc2 a1 0x80 0x8000 0x0000
  28. sadd a1, a0
  29. checkacc2 7 a0 0x00 0x0000 0x0000
  30. checkacc2 8 a1 0xff 0x8000 0x0000
  31. exit0