li伪命令的MIPS转换

时间:2015-02-03 21:14:31

标签: assembly mips instructions

使用MIPS汇编代码时,我一直在使用li命令将常量存储在寄存器中。但是,我正在尝试使用我的一些代码并将所有伪指令分解为普通的MIPS指令。

通过研究,我了解到li翻译成两个指令:lui和ori。

例如,

li $ 8,0x3BF20 转换为

lui $ 8,0x0003

ori $ 8,$ 8,0xBF20

但是,我不太确定lui和ori是做什么的,我不确定它是如何产生与li相同的结果。

2 个答案:

答案 0 :(得分:2)

lui(Load Upper Immediate)正在加载寄存器的上半部分。清理下半部分; ori(或立即)是" loading"下半部分通过命令寄存器w /值进入下半部分。

答案 1 :(得分:1)

阅读手册,一个修改整个寄存器的半个零,你指定的另一个是逻辑或16位对着寄存器(在这种情况下击中其他16位,lui归零)