如何将最大的 32 位整数放入寄存器文件
How to put biggest 32bit integer into a register file
我需要将最大的整数放入一个寄存器文件中,它是(+2147483647) (0x7FFFFFFF)
.data
input : .word 0x7FFFFFFF #+ infinity
.text
la $a0, input
move $t0, $a0
输入标签可以保存这个值,但是我无法将它传输到 $a0,$a0 变成 268500992。
lui $a0, 0x7FFF
ori $a0, 0xFFFF
可以工作,但我需要从 .data 段获取参数。
你们能给我一个解决方案吗?
move $t0, $a0
将 $a0
的值复制到 $t0
。所以你得到的是 input
的地址,而不是该地址的值。
你想要的是从内存中加载一个字(32位),即lw $t0, ($a0)
。
我需要将最大的整数放入一个寄存器文件中,它是(+2147483647) (0x7FFFFFFF)
.data
input : .word 0x7FFFFFFF #+ infinity
.text
la $a0, input
move $t0, $a0
输入标签可以保存这个值,但是我无法将它传输到 $a0,$a0 变成 268500992。
lui $a0, 0x7FFF
ori $a0, 0xFFFF
可以工作,但我需要从 .data 段获取参数。 你们能给我一个解决方案吗?
move $t0, $a0
将 $a0
的值复制到 $t0
。所以你得到的是 input
的地址,而不是该地址的值。
你想要的是从内存中加载一个字(32位),即lw $t0, ($a0)
。