分支到标签

时间:2009-11-28 17:44:08

标签: assembly mips

我正在为一个简单的计算器编写一个MIPS代码,并想知道如何根据用户输入分支到相应的函数。例如,如果用户希望添加两个数字,您将如何确保计算器跳转到添加标签,而不是乘以或减去?

1 个答案:

答案 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.