【问题标题】:Putting a new value into a register with lui (load upper immediate) and ori (OR immediate) [MIPS]使用 lui(加载上立即数)和 ori(或立即数)将新值放入寄存器 [MIPS]
【发布时间】:2013-06-09 13:55:02
【问题描述】:

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

假设我现在想将另一个值放入$s0(例如 0x87654321),然后我必须通过 lui 操作将值分两步(至少我已经学会了)和ori

lui $s0, 0x8765
ori $s0, $s0, 0x4321

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

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

【问题讨论】:

    标签: assembly mips 32-bit


    【解决方案1】:

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

    但要回答您的问题,是的,lui 会清除低位。

    【讨论】:

      猜你喜欢
      • 2011-10-03
      • 2013-07-22
      • 2022-11-17
      • 2014-04-29
      • 1970-01-01
      • 1970-01-01
      • 2015-01-12
      • 2020-07-13
      • 2021-06-17
      相关资源
      最近更新 更多