我正在为一个简单的计算器编写一个MIPS代码,并想知道如何根据用户输入分支到相应的函数。例如,如果用户希望添加两个数字,您将如何确保计算器跳转到添加标签,而不是乘以或减去?
答案 0 :(得分:1)
将用户输入录入注册表。
然后使用beq指令将其与第一个ascii值进行比较,比如'+'。
.data
plus: .asciiz "+"
sub: .asciiz "-"
prod: .asciiz "*"
div .asciiz "/"
.text
.global calculator
.align 2
.ent calculator
calculator:
//t0 holds user input
la $t1,plus
lb $t1,0($t1)
beq $t0,$t1,add
//now check for subtraction, division product. Same code, just change the address (add)
//if none matched, jump to error
b error
add:
//addition code goes here
division:
//division code goes here
product:
//product code goes here
subtraction:
//subtraction code goes here.
error:
//error code goes here.