从 mips 中的现有寄存器值创建新的 32 位值

Create a new 32bit value from an existing register value in mips

我是 mips 新手。我有以下指令:

addi $s3, [=10=], '\n'

$s3 现在等于 0x0000000a

现在我想将$s4设置为0x1001000a

我正在尝试这个:

lui     $s4, 0x1001
ori     $s4, $s4, $s3

但是我在 ori 语句中遇到错误。任何帮助,将不胜感激。谢谢

ori 中的 i 表示 "immediate" - 这种形式的指令需要一个立即数(文字常量)作为第三个参数。

在你的例子中,你有一个第三个参数的寄存器,所以你只需要 or:

lui     $s4, 0x1001
or      $s4, $s4, $s3

this handy MIPS instruction set reference