Advertisement
Guest User

Untitled

a guest
May 26th, 2015
265
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.21 KB | None | 0 0
  1. ;-------------------
  2. ;Instructions
  3. ;-------------------
  4. LD R1, STACK_ADDR
  5. ADD R2, R1, #0
  6. LD R3, CAPACITY
  7.  
  8. LD R6, SUB_STACK_PUSH
  9.  
  10. LEA R0, PUSH_PROMPT_MAIN
  11. PUTS
  12. PUSH_LOOP_MAIN
  13. GETC
  14. OUT
  15. ADD R0, R0, #-10
  16. BRz END_PUSH_LOOP_MAIN
  17. ADD R0, R0, #10
  18. JSRR R6
  19. BR PUSH_LOOP_MAIN
  20. END_PUSH_LOOP_MAIN
  21.  
  22. LD R6, SUB_STACK_POP
  23.  
  24. LEA R0, POP_PROMPT_MAIN
  25. PUTS
  26. POP_LOOP_MAIN
  27. GETC
  28. ADD R0, R0, #-10
  29. BRz END_POP_LOOP_MAIN
  30. ADD R0, R0, #10
  31. JSRR R6
  32. LEA R0, CHAR_POPPED
  33. PUTS
  34. BR POP_LOOP_MAIN
  35. END_POP_LOOP_MAIN
  36.  
  37.  
  38. HALT
  39. ;-------------------
  40. ;Local Data
  41. ;-------------------
  42. SUB_STACK_PUSH .FILL x3200
  43. SUB_STACK_POP .FILL x3400
  44. STACK_ADDR .FILL x5000
  45. CAPACITY .FILL #10
  46. PUSH_PROMPT_MAIN .STRINGZ "Enter a character to push onto the stack (ENTER to stop):\n"
  47. POP_PROMPT_MAIN .STRINGZ "Press any key to pop from back (ENTER to stop):\n"
  48. CHAR_POPPED .STRINGZ "Popped!\n"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement