使用lui(load upper immediate)和ori(OR immediate)[MIPS]将新值放入寄存器

时间:2013-06-09 13:55:02

标签: assembly mips 32-bit

[MIPS]
假设$s0中存储的值为0x12345678。

我们假设我想将另一个值放入$s0(例如0x87654321),然后我必须将值分为两步(至少我已经用这种方式学习了){{1操作和lui

ori

我知道如果lui $s0, 0x8765 ori $s0, $s0, 0x4321 $s0开头是0,但我实际上不确定lui操作是否将后半部分设置为0或者它是否只是替换了上半部分我的新输入0x8765。

所以,我的问题是:
即使$s0中存储了值,还是必须将$s0的值设置为0然后设置上半部分和下半部分,它是否有效?< / p>

1 个答案:

答案 0 :(得分:3)

您应该始终查阅有关此类问题的指令集参考。或者你甚至可以尝试一下。

但要回答你的问题,是的,lui清除了低位。