risc8_test.asm 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. b1111_0010 // 0x0000
  2. 0x0007
  3. b1011_0000 // 0x0003 func AddAllBy1
  4. b1011_0100 // 0x0004
  5. b1011_1000 // 0x0005
  6. b1011_1100 // 0x0006
  7. b1111_0001 // 0x0007
  8. COPY r0 0x15 // 0x0008
  9. COPY r2 r0 // 0x000a
  10. COPY r1 0x0a // 0x000b
  11. b1111_0000 // 0x000d Call AddAllBy1
  12. 0x0002
  13. ADD r0 r1 // 0x000f
  14. COPY r0 r2 // 0x0010
  15. SUB r0 r1
  16. COPY r0 r2
  17. AND r0 r1
  18. COPY r0 r2
  19. OR r0 r1
  20. COPY r0 r2
  21. XOR r0 r1
  22. COPY r0 r2
  23. COPY r0 100
  24. MUL r0 r1
  25. b1011_1110 // Load ALU_HI to r3
  26. COPY r0 r2
  27. DIV r0 r1
  28. b1011_1110
  29. DIV r1 r2
  30. b1011_1110
  31. b1011_0000 // &r1++
  32. b1011_0000 // &r1++
  33. b1011_0001 // &r1--
  34. b1011_0001 // &r1--
  35. COPY r0 32h
  36. COPY r1 4fh
  37. b1010_0001 // Store 32 to high memory
  38. b1010_0111 // Store 4f to low 000001h
  39. 0x010000
  40. COPY r0 0
  41. COPY r1 r0
  42. b1010_0000
  43. 0x010000
  44. b1010_0010
  45. 0x010000
  46. // Testing COM
  47. b1100_0010
  48. ffh
  49. // Testing Stack
  50. COPY r0 11h
  51. COPY r1 22h
  52. COPY r2 33h
  53. COPY r3 44h
  54. b1100_0000 // PUSH r0
  55. b1100_0100 // PUSH r1
  56. b1100_1000 // PUSH r2
  57. b1100_1100 // PUSH r3
  58. COPY r3 55h
  59. b1100_1100 // PUSH r2
  60. COPY r0 00h
  61. b1100_0001 // POP r2
  62. b1100_0001 // POP r2
  63. b1100_0001 // POP r2
  64. b1100_0001 // POP r2
  65. b1100_0001 // POP r2
  66. b1111_0010 // Reset
  67. 0x0000