我目前正在运行一个运行Collatz猜想的程序。
我很困惑如何将2^32 - 1
或0xFFFFFFFF
表示到一个寄存器中。我目前正在使用
#lui $s5, 0xFFFF # 2^32 - 1 stored in $s5
#ori $s5, $s5, 0xFFFF # storing 0xFFFFFFF in $s5
li $s5, 0xFFFFFFFF # pseudo instruction of above
addu $s6, $0, $s5
将0xFFFFFFFF
的无符号值导入寄存器$s6
。当我通过gdb调试器运行程序时,我得到寄存器0xFFFFFFFF
中-1
$s6
的2的补码而不是0xFFFFFFFF
的真正无符号值。我对如何将0xFFFFFFFF
的无符号值表示到$s6
寄存器感到困惑。我在ci20机器而不是模拟器上运行我的代码。任何帮助或建议将不胜感激。