sram.list 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. 10010000000000000000000000001000 //Jump to constant address 4
  2. 10010000000000000000000001010010 //Jump to constant address 41
  3. 10010000000000000000000000001000 //Jump to constant address 4
  4. 10010000000000000000000000001000 //Jump to constant address 4
  5. 00011100000000000000010100010001 //Set r1 to 5
  6. 00011100000000000000001000100010 //Set r2 to 2
  7. 00000011000000000000000100100011 //Compute r1 + r2 and write result to r3
  8. 00000011000000000000001100100011 //Compute r3 + r2 and write result to r3
  9. 00000011000000000000000100110011 //Compute r1 + r3 and write result to r3
  10. 00000011000000000000001100110011 //Compute r3 + r3 and write result to r3
  11. 00011100000000000000100100010001 //Set r1 to 9
  12. 00011100000000000000101000100010 //Set r2 to 10
  13. 00000011000000000000000100100011 //Compute r1 + r2 and write result to r3
  14. 00000011000000000000001100100011 //Compute r3 + r2 and write result to r3
  15. 00000011000000000000000100110011 //Compute r1 + r3 and write result to r3
  16. 00000011000000000000001100110011 //Compute r3 + r3 and write result to r3
  17. 10110000000000000000000000010000 //Push r1 to stack
  18. 10100000000000000000000000000010 //Pop from stack to r2
  19. 00010011000000000000011000100100 //Compute r2 + 6 and write result to r4
  20. 11010000000000000000000101000000 //Write value in r4 to address in r1 with offset 0
  21. 11010000000000000001000100110000 //Write value in r3 to address in r1 with offset 1
  22. 11100000000000000000000100000101 //Read at address in r1 with offset 0 to r5
  23. 00010011000000000000000101010101 //Compute r5 + 1 and write result to r5
  24. 10010000000000000000000000001000 //Jump to constant address 4
  25. 11010000000000001010001100110000 //Write value in r3 to address in r3 with offset 10
  26. 11010000000000000000001100010000 //Write value in r1 to address in r3 with offset 0
  27. 11100000000000001010001100000100 //Read at address in r3 with offset 10 to r4
  28. 00000011000000000000010000010101 //Compute r4 + r1 and write result to r5
  29. 01100000000000000011010100010010 //(unsigned) If r5 > r1, then jump to offset 3
  30. 11111111111111111111111111111111 //Halt
  31. 00011100000000000000000000010001 //Set r1 to 0
  32. 00011100000000000000000000100010 //Set r2 to 0
  33. 00011100000000000000000110011001 //Set r9 to 1
  34. 00011100000000000001001010101010 //Set r10 to 18
  35. 10110000000000000000000010100000 //Push r10 to stack
  36. 10100000000000000000000000001011 //Pop from stack to r11
  37. 00000011000000000000101010101111 //Compute r10 + r10 and write result to r15
  38. 01010000000000000000000000001100 //Save PC to r12
  39. 00010011000000000000000111001101 //Compute r12 + 1 and write result to r13
  40. 11111111111111111111111111111111 //Halt
  41. 00011100000000000010010100010001 //Set r1 to 37
  42. 01000000000000000000000000000000 //Return from interrupt