将MIPS二进制代码翻译成MIPS程序集
我对MIPS非常陌生,在这部分任务中需要帮助。
.data
fvar: .word 0
gvar: .word 10
hvar: .word -5
ivar: .word 6
jvar: .word 3
.text
.globl main
main:
la $t2, fvar
对于la指令,二进制代码(我的教授一起发送)如下
0011 1100 0000 1010 0001 0000 0000 0000
对于MIPS la指令,我知道它是由lui,ori组成的。 我也读过MIPS手册,并且知道32位的部分意味着什么。
这是我感到困惑的部分:
我使用QtSpim来读取汇编代码和模拟。 当我运行la部分时,$ t2变为10010000。
$ t2应该不是1000000? 在手册中,它说最后的16位是立即值,它变成了更高的16位数。
但是我也很困惑,因为我读过另一个答案:1001是.data段(在MARS模拟器中)的默认加载地址。 如果QtSpim仿真器属于这种情况,是不是忽略了二进制代码中的最后16位?
链接地址: http://www.djcxy.com/p/19221.html