Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .globl main
- .data
- strSelOp: .asciiz "Select operation (+, -, *, or /): "
- strNum1: .asciiz "\nEnter Number 1: "
- strNum2: .asciiz "\nEnter Number 2: "
- strResults: .asciiz "\nAnswer = "
- strOpAdd: .asciiz "+"
- strOpSub: .asciiz "-"
- strOpDiv: .asciiz "/"
- strOpMul: .asciiz "*"
- input: .space 2
- .text
- main:
- # $s0 = operator
- # $s1 = num1
- # $s2 = num2
- # $s3 = result
- # $s4 = holds comparison strings
- li $v0, 4
- la $a0, strSelOp
- syscall
- li $v0, 8
- la $a0, input
- li $a1, 2
- syscall
- move $s0, $a0
- li $v0, 4
- la $a0, strNum1
- syscall
- li $v0, 5
- syscall
- move $s1, $v0
- li $v0, 4
- la $a0, strNum2
- syscall
- li $v0, 5
- syscall
- move $s2, $v0
- la $s4, strOpAdd
- beq $s0, $s4, funAdd
- la $s4, strOpSub
- beq $s0, $s4, funSub
- la $s4, strOpDiv
- beq $s0, $s4, funDiv
- la $s4, strOpMul
- beq $s0, $s4, funMul
- j done
- funAdd:
- add $s3, $s2, $s1
- j done
- funSub:
- sub $s3, $s2, $s1
- j done
- funDiv:
- div $s3, $s2, $s1
- j done
- funMul:
- mul $s3, $s2, $s1
- j done
- done:
- li $v0, 4
- la $a0, strResults
- syscall
- li $v0, 1
- la $a0, ($s3)
- syscall
- li $v0, 10
- syscall
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement