我的朋友,
我正在编写一个编译器程序,所以,我无法理解当我将3个代码地址传递给Mips Assembly时,它会像以下那样在简单的总和中出错:
addi $ t0,1,1
它只接受:
addi temp,temp,1
如何将两个整数相加?我是否必须暂时存储第一个“1”?
非常感谢
答案 0 :(得分:1)
是。每条指令只有32位来编码操作,寄存器和你的情况下的立即值。立即值仅消耗16位,因此没有任何指令有2个立即数。我也质疑为什么你需要两个立即值。如果要将两个常量放入代码中,则计算答案并将答案放入您编写的指令中。