如何将最大的32位整数放入寄存器文件中

时间:2017-03-15 14:42:59

标签: assembly mips mips32

我需要将最大的int放入寄存器文件(+2147483647)(0x7FFFFFFF)

.data

 input : .word 0x7FFFFFFF #+ infinity

 .text
  la $a0, input

  move $t0, $a0

输入标签可以保存此值但是,我无法将其转移到$ a0,$ a0变为268500992.

lui $a0, 0x7FFF
ori $a0, 0xFFFF

可以工作,但我需要从.data段获取参数。 你们能帮我解决吗?

1 个答案:

答案 0 :(得分:3)

move $t0, $a0$a0的值复制到$t0。所以你得到的是input的地址,而不是该地址的值。

你想要的是从内存加载一个字(32位),即lw $t0, ($a0)