Lui指令的立即数范围

时间:2018-11-25 13:20:35

标签: mips instructions immediate-operand

我不确定lui指令中立即数的范围是什么。

组装时:

lui $t0,32768

它成功运行,没有错误。

但是,

lui $t0,-32768 

通知-32768超出范围。

1 个答案:

答案 0 :(得分:0)

在MIPS中,I型指令的立即数始终为16位长。这意味着如果汇编器将其视为未签名,则范围将为[0,65535],对于已签名的情况将范围为[-32768,32767]

但是您可以在汇编中使用什么取决于汇编器

例如,shell-stormWeMips之类的某些汇编器在[-32768,65535]中接受常量,该常量是16位有符号和无符号的混合,MIPS Converter仅接受十六进制值但WebMIPSASM甚至接受9223372036854775807之类的巨大值,并将结果截断为16位