Advertisement
Guest User

Untitled

a guest
Jan 17th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.14 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. la $a0, strNum1
  33. syscall
  34.  
  35. li $v0, 5
  36. syscall
  37. move $s1, $v0
  38.  
  39.  
  40. li $v0, 4
  41. la $a0, strNum2
  42. syscall
  43.  
  44. li $v0, 5
  45. syscall
  46. move $s2, $v0
  47.  
  48. la $s4, strOpAdd
  49. beq $s0, $s4, funAdd
  50. la $s4, strOpSub
  51. beq $s0, $s4, funSub
  52. la $s4, strOpDiv
  53. beq $s0, $s4, funDiv
  54. la $s4, strOpMul
  55. beq $s0, $s4, funMul
  56.  
  57. j done
  58.  
  59.  
  60. funAdd:
  61. add $s3, $s2, $s1
  62. j done
  63.  
  64. funSub:
  65. sub $s3, $s2, $s1
  66. j done
  67.  
  68. funDiv:
  69. div $s3, $s2, $s1
  70. j done
  71.  
  72. funMul:
  73. mul $s3, $s2, $s1
  74. j done
  75.  
  76. done:
  77. li $v0, 4
  78. la $a0, strResults
  79. syscall
  80.  
  81. li $v0, 1
  82. la $a0, ($s3)
  83. syscall
  84.  
  85. li $v0, 10
  86. syscall
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement