Advertisement
Guest User

Untitled

a guest
Jan 17th, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.18 KB | None | 0 0
  1. .globl main
  2.  
  3. .data
  4. strSelOp: .asciiz "Select operation (+, -, *, or /): "
  5. strNum1: .asciiz "\nEnter Number 1: "
  6. strNum2: .asciiz "\nEnter Number 2: "
  7. strResults: .asciiz "\nAnswer = "
  8. strOpAdd: .asciiz "+"
  9. strOpSub: .asciiz "-"
  10. strOpDiv: .asciiz "/"
  11. strOpMul: .asciiz "*"
  12. input: .space 2
  13.  
  14. .text
  15. main:
  16. # $s0 = operator
  17. # $s1 = num1
  18. # $s2 = num2
  19. # $s3 = result
  20. # $s4 = holds comparison strings
  21. li $v0, 4
  22. la $a0, strSelOp
  23. syscall
  24.  
  25. li $v0, 8
  26. la $a0, input
  27. li $a1, 2
  28. syscall
  29. move $s0, $a0
  30.  
  31. li $v0, 4
  32. syscall
  33.  
  34. li $v0, 4
  35. la $a0, strNum1
  36. syscall
  37.  
  38. li $v0, 5
  39. syscall
  40. move $s1, $v0
  41.  
  42.  
  43. li $v0, 4
  44. la $a0, strNum2
  45. syscall
  46.  
  47. li $v0, 5
  48. syscall
  49. move $s2, $v0
  50.  
  51. la $s0, ($s0)
  52.  
  53. la $s4, strOpAdd
  54. beq $s0, $s4, funAdd
  55. la $s4, strOpSub
  56. beq $s0, $s4, funSub
  57. la $s4, strOpDiv
  58. beq $s0, $s4, funDiv
  59. la $s4, strOpMul
  60. beq $s0, $s4, funMul
  61.  
  62. j done
  63.  
  64.  
  65. funAdd:
  66. add $s3, $s2, $s1
  67. j done
  68.  
  69. funSub:
  70. sub $s3, $s2, $s1
  71. j done
  72.  
  73. funDiv:
  74. div $s3, $s2, $s1
  75. j done
  76.  
  77. funMul:
  78. mul $s3, $s2, $s1
  79. j done
  80.  
  81. done:
  82. li $v0, 4
  83. la $a0, strResults
  84. syscall
  85.  
  86. li $v0, 1
  87. la $a0, ($s3)
  88. syscall
  89.  
  90. li $v0, 10
  91. syscall
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement