MIPS计算器,输出所有答案
我的MIPS计算器有一个问题,当我输入两个整数并选择一个运算符时,例如+它会输出所有运算符,而不仅仅是我选择的运算符。我使用十六进制表作为它选择的数字,以获得用户为操作员输入的内容 谢谢你的帮助MIPS计算器,输出所有答案,mips,Mips,我的MIPS计算器有一个问题,当我输入两个整数并选择一个运算符时,例如+它会输出所有运算符,而不仅仅是我选择的运算符。我使用十六进制表作为它选择的数字,以获得用户为操作员输入的内容 谢谢你的帮助 .data number1: .asciiz number2: .asciiz calculator: .asciiz "E to exit, + to add, - to subtract, * to multiply, / to divide" op: .asciiz " " .t
.data
number1: .asciiz
number2: .asciiz
calculator: .asciiz "E to exit, + to add, - to subtract, * to multiply, / to divide"
op: .asciiz " "
.text
li $v0, 4
la $a0, number1
syscall
li $v0, 5
syscall
move $t0, $v0
li $v0, 4
la $a1, number2
syscall
li $v0, 5
syscall
move $t1, $v0
li $v0, 8
la $a1, op
li $a1, 2
syscall
lb $t2, op
beq $t2, 43, addd
beq $t2, 45, subtract
beq $t2, 42, multiply
beq $t2, 47, divide
beq $t2, 101, exit
addd: add $a0, $t0, $t1
li $v0, 1
syscall
subtract: sub $a0, $t0, $t1
li $v0, 1
syscall
multiply: mul $a0, $t0, $t1
li $v0, 1
syscall
divide: div $a0, $t0, $t1
li $v0, 1
syscall
exit: li $v0, 10
syscall
当然是这样;打印结果后,没有分支可以更改代码流。此时,您需要显式跳转到您想去的任何地方。如果ascii表条目相等,Iv'e会将分支添加到操作的分支。很好,但是在执行了预期的代码之后,您不会跳转到其他任何地方。CPU将继续执行接下来的所有操作,直到您明确告诉它不要这样做。当我在每个操作之后跳转到退出操作时。它将跳过所有其他操作。假设我想使用-运算,它将使用+运算。我不理解你最后的评论。在您向我们展示的代码中,您不会“在每次操作后跳转到退出操作”。