arith_test.ds 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. ; various arithmetic tests
  2. incdir "tests"
  3. include "dsp_base.inc"
  4. test_main:
  5. clr $acc0
  6. tst $acc0
  7. call send_back ; 1
  8. lri $ac0.h, #0x0011
  9. lri $ac0.m, #0x0100
  10. lri $ac0.l, #0x0101
  11. lsl $acc0, #1
  12. call send_back ; 2
  13. lri $ac0.h, #0x0011
  14. lri $ac0.m, #0x0100
  15. lri $ac0.l, #0x0001
  16. asl $acc0, #1
  17. call send_back ; 3
  18. clr $acc0
  19. lri $ac0.h, #0x0011
  20. tst $acc0
  21. call send_back ; 4
  22. lri $ac0.m, #0x0100
  23. tst $acc0
  24. call send_back ; 5
  25. lri $ac0.l, #0x0001
  26. tst $acc0
  27. call send_back ; 6
  28. clr $acc0
  29. lri $ac0.l, #-1
  30. tst $acc0
  31. call send_back ; 7
  32. clr $acc0
  33. set40
  34. lri $ac0.l, #-1
  35. tst $acc0
  36. set16
  37. call send_back ; 8
  38. clr $acc0
  39. lri $ac0.h, #0x1000
  40. tst $acc0
  41. call send_back ; 9
  42. clr $acc0
  43. lri $ac0.h, #0x0100
  44. tst $acc0
  45. call send_back ; 10
  46. clr $acc0
  47. lri $ac0.h, #0x0010
  48. tst $acc0
  49. call send_back ; 11
  50. clr $acc0
  51. lri $ac0.h, #0x0001
  52. tst $acc0
  53. call send_back ; 12
  54. clr $acc0
  55. lri $ac0.l, #0x1000
  56. tst $acc0
  57. call send_back ; 13
  58. clr $acc0
  59. lri $ac0.l, #0x0100
  60. tst $acc0
  61. call send_back ; 14
  62. clr $acc0
  63. lri $ac0.l, #0x0010
  64. tst $acc0
  65. call send_back ; 15
  66. clr $acc0
  67. lri $ac0.l, #0x0001
  68. tst $acc0
  69. call send_back ; 16
  70. clr $acc0
  71. clr $acc1
  72. lri $ac0.l, #0x0001
  73. sub $acc1, $acc0
  74. call send_back ; 17
  75. clr $acc0
  76. clr $acc1
  77. set40
  78. lri $ac0.l, #0x0001
  79. sub $acc1, $acc0
  80. set16
  81. call send_back ; 18
  82. clr $acc0
  83. clr $acc1
  84. lri $ac0.l, #0x0001
  85. lri $ac1.h, #0x8000
  86. sub $acc1, $acc0
  87. call send_back ; 19
  88. clr $acc0
  89. clr $acc1
  90. set40
  91. lri $ac0.l, #0x0001
  92. lri $ac1.h, #0x8000
  93. sub $acc1, $acc0
  94. set16
  95. call send_back ; 20
  96. ; We're done, DO NOT DELETE THIS LINE
  97. jmp end_of_test