addxc.ms 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. # mach: crisv0 crisv3 crisv8 crisv10 crisv32
  2. # output: 1\n1\n101\n10001\n100fe\n1fffe\nfffe\nfffe\nfffffffe\nfe\nfffffffe\n781344db\n781343db\n78143bdb\n78133bdb\n800000ed\n0\n
  3. .include "testutils.inc"
  4. start
  5. moveq 2,r3
  6. adds.b 0xff,r3
  7. test_cc 0 0 0 1
  8. dumpr3 ; 1
  9. moveq 2,r3
  10. adds.w 0xffff,r3
  11. test_cc 0 0 0 1
  12. dumpr3 ; 1
  13. moveq 2,r3
  14. addu.b 0xff,r3
  15. dumpr3 ; 101
  16. moveq 2,r3
  17. move.d 0xffffffff,r4
  18. addu.w -1,r3
  19. test_cc 0 0 0 0
  20. dumpr3 ; 10001
  21. move.d 0xffff,r3
  22. addu.b -1,r3
  23. test_cc 0 0 0 0
  24. dumpr3 ; 100fe
  25. move.d 0xffff,r3
  26. addu.w -1,r3
  27. test_cc 0 0 0 0
  28. dumpr3 ; 1fffe
  29. move.d 0xffff,r3
  30. adds.b 0xff,r3
  31. test_cc 0 0 0 1
  32. dumpr3 ; fffe
  33. move.d 0xffff,r3
  34. adds.w 0xffff,r3
  35. test_cc 0 0 0 1
  36. dumpr3 ; fffe
  37. moveq -1,r3
  38. adds.b 0xff,r3
  39. test_cc 1 0 0 1
  40. dumpr3 ; fffffffe
  41. moveq -1,r3
  42. adds.w 0xff,r3
  43. test_cc 0 0 0 1
  44. dumpr3 ; fe
  45. moveq -1,r3
  46. adds.w 0xffff,r3
  47. test_cc 1 0 0 1
  48. dumpr3 ; fffffffe
  49. move.d 0x78134452,r3
  50. addu.b 0x89,r3
  51. test_cc 0 0 0 0
  52. dumpr3 ; 781344db
  53. move.d 0x78134452,r3
  54. adds.b 0x89,r3
  55. test_cc 0 0 0 1
  56. dumpr3 ; 781343db
  57. move.d 0x78134452,r3
  58. addu.w 0xf789,r3
  59. test_cc 0 0 0 0
  60. dumpr3 ; 78143bdb
  61. move.d 0x78134452,r3
  62. adds.w 0xf789,r3
  63. test_cc 0 0 0 1
  64. dumpr3 ; 78133bdb
  65. move.d 0x7fffffee,r3
  66. addu.b 0xff,r3
  67. test_cc 1 0 1 0
  68. dumpr3 ; 800000ed
  69. move.d 0x1,r3
  70. adds.w 0xffff,r3
  71. test_cc 0 1 0 1
  72. dumpr3 ; 0
  73. quit