0

我不确定立即lui指令的范围是多少。

当我组装时:

lui $t0,32768

它成功地没有错误。

然而,

lui $t0,-32768 

通知 -32768 超出范围。

4

1 回答 1

0

在 MIPS 中,I 型指令的立即数总是 16 位长。这意味着如果汇编程序将其视为无符号范围,则范围将为 [0, 65535],对于有符号情况,范围将为 [-32768, 32767]

但是,您可以在程序集中使用什么取决于汇编程序

例如,shell-stormWeMips等一些汇编程序接受 [-32768, 65535] 中的常量,这是 16 位有符号和无符号的混合,MIPS 转换器只接受十六进制值,但WebMIPSASM甚至接受像 9223372036854775807 这样的巨大值并截断结果至 16 位

于 2018-11-25T16:20:01.570 回答