在寄存器上执行无符号运算会导致它们更改其符号扩展吗?

时间:2015-10-30 05:53:51

标签: binary byte mips bit

例如:

$t1 = 1000 0000 0000 0000 0000 0000 0000 0111
subu $t1, $t1, $zero

$t1中的寄存器值会改变吗?

1 个答案:

答案 0 :(得分:0)

不,它不会。

SUBU的工作方式与SUB类似,只是它不会在溢出时陷阱。
来自 MIPS32™架构的程序员 第二卷:MIPS32™指令集

  

指令名称中的“无符号”一词用词不当;这个操作是32位模运算,但没有   陷阱溢出。它适用于无符号算术,例如地址算术或整数算术环境   忽略溢出,例如C语言算术。

同样适用于ADDUADDIU