将32位无符号值加载到单个mips寄存器中

时间:2016-10-23 20:15:26

标签: assembly mips unsigned mips32 ci20

我目前正在运行一个运行Collat​​z猜想的程序。 我很困惑如何将2^32 - 10xFFFFFFFF表示到一个寄存器中。我目前正在使用

#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机器而不是模拟器上运行我的代码。任何帮助或建议将不胜感激。

0 个答案:

没有答案