用MIPS制作计算器?

时间:2012-05-13 01:01:26

标签: mips calculator

我目前正在学习如何使用MIPS和QTSPIM仿真器进行编码。我认为制作一个简单的算术计算器是很好的做法,所以我开始编码。 到目前为止,程序要求一个数字,读取数字,要求操作(用户必须输入操作符号+, - ,*,/或首字母a,s,m,d)。下一步是将收到的输入与某些东西进行比较...... 这是我坚持的部分。 我的第一个想法是有4个寄存器,其中已有字符,所以我试过

    li $t5,a
    li $t6,s
    li $t7,m
    li $t8,d

然而,这只是给我一个语法错误。我尝试了其他几种类似的方法,但一直出错。 我的目标是将用户输入与这4个寄存器进行比较,然后继续进行操作

    beq $t2,$t5,add
    beq $t2,$t6,sub
    beq $t2,$t7,mul
    beq $t2,$t8,div

其中$ t2包含用户输入的字符。然后分支到适当的标签以执行操作。

有一种更简单的方法可以做到这一点,我忽略了吗? 谢谢你的时间。

2 个答案:

答案 0 :(得分:0)

好吧,我设法解决了自己的问题XD 解决方案有点原始,但它的工作原理...... 将操作提示更改为"1 for addition, 2 for subtraction, 3 for multiplication, 4 for division",并将用户输入与那些输入进行比较,

    beq $t2,1,add
    beq $t2,2,sub
    beq $t2,3,mul
    beq $t2,4,div

其余的只是操作本身。 我以为我会留下这个以防万一其他人遇到类似的问题。 也许我会添加内存和清除功能

答案 1 :(得分:0)

要使用ASCII代码设置寄存器,需要用单引号将其括起来。 在你的例子中,它将是

  li $t5,'a'
  li $t6,'s'
  li $t7,'m'
  li $t8,'d'