insn_BCD.awl 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. // Check BTI
  2. L W#16#0123
  3. BTI
  4. __ASSERT== __ACCU 1, 123
  5. L W#16#8123
  6. BTI
  7. __ASSERT== __ACCU 1, W#16#FF85
  8. // Check ITB
  9. L 321
  10. ITB
  11. __ASSERT== __ACCU 1, W#16#321
  12. L -321
  13. ITB
  14. __ASSERT== __ACCU 1, DW#16#F321
  15. __STWRST
  16. L 1000
  17. __ASSERT== __STW OV, 0
  18. __ASSERT== __STW OS, 0
  19. ITB
  20. __ASSERT== __STW OV, 1
  21. __ASSERT== __STW OS, 1
  22. __STWRST
  23. L -1000
  24. __ASSERT== __STW OV, 0
  25. __ASSERT== __STW OS, 0
  26. ITB
  27. __ASSERT== __STW OV, 1
  28. __ASSERT== __STW OS, 1
  29. L 321
  30. ITB
  31. __ASSERT== __STW OV, 0
  32. __ASSERT== __STW OS, 1
  33. // Check BTD
  34. L DW#16#01234567
  35. BTD
  36. __ASSERT== __ACCU 1, L#1234567
  37. L DW#16#81234567
  38. BTD
  39. __ASSERT== __ACCU 1, DW#16#0xFFED2979
  40. // Check DTB
  41. L L#7654321
  42. DTB
  43. __ASSERT== __ACCU 1, DW#16#7654321
  44. L L#-7654321
  45. DTB
  46. __ASSERT== __ACCU 1, DW#16#F7654321
  47. __STWRST
  48. L L#10000000
  49. __ASSERT== __STW OV, 0
  50. __ASSERT== __STW OS, 0
  51. DTB
  52. __ASSERT== __STW OV, 1
  53. __ASSERT== __STW OS, 1
  54. __STWRST
  55. L L#-10000000
  56. __ASSERT== __STW OV, 0
  57. __ASSERT== __STW OS, 0
  58. DTB
  59. __ASSERT== __STW OV, 1
  60. __ASSERT== __STW OS, 1
  61. L L#7654321
  62. DTB
  63. __ASSERT== __STW OV, 0
  64. __ASSERT== __STW OS, 1
  65. CALL SFC 46 // STOP CPU