我目前正在开发一个运行 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
寄存器中的 2 的补码,$s6
而不是真正的无符号值0xFFFFFFFF
。我对如何将无符号值表示0xFFFFFFFF
到$s6
寄存器中感到困惑。我在 ci20 机器而不是模拟器上运行我的代码。任何帮助或建议将不胜感激。