如果你给出:转换C++函数MIPS
calc (int b) {
return b - 2;
}
会是怎样转化为MIPS?
我已经考虑了以下几点:
addi $v0, $a0, -2
jr $ra
***********************
jr $ra
addi $v0, $a0, -2
***********************
addi $v0, $a0, 2
jr $ra
***********************
lw $v0, 0($a0)
addi $v0, $v0, -2
jr $ra
我只是学习功能MIPS和将不胜感激的意见。在这种情况下使用'lw'指令有什么意义吗?
Andre,你的ABI变量中的参数是如何传递的,返回地址存储在哪里? MIPS的版本是什么?它是否有“分支[延迟插槽](https://en.wikipedia.org/wiki/Delay_slot)”? LW用于从RAM内存中加载数据:https://en.wikipedia.org/wiki/MIPS_architecture#Loads_and_stores – osgx