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

从mips中的现有寄存器值创建新的32位值,mips,mips32,Mips,Mips32,我是mips的新手。我有以下指示: addi $s3, $0, '\n' $s3现在等于0x0000000a 现在我想将$s4设置为0x1001000a 我正在尝试: lui $s4, 0x1001 ori $s4, $s4, $s3 但是我在ori语句中得到了一个错误。任何帮助都将不胜感激。谢谢。ori中的i表示“立即”——这种形式的指令要求第三个参数为立即数(文字常量) 在您的例子中,第三个参数有一个寄存器,所以您只需要或: lui $s4, 0x1001 or

我是mips的新手。我有以下指示:

addi $s3, $0, '\n'
$s3现在等于0x0000000a

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

我正在尝试:

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

但是我在ori语句中得到了一个错误。任何帮助都将不胜感激。谢谢。

ori中的
i
表示“立即”——这种形式的指令要求第三个参数为立即数(文字常量)

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

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

看。

太棒了!就这样。非常感谢。