【发布时间】:2016-01-26 00:33:03
【问题描述】:
不正确类型错误的 MIPS 操作数。将数据加载到寄存器中
.data
myMessage: .word 2
myMessage2: .word 24
.text
add $t0, $zero, myMessage
add $t1, $zero, myMessage2
为什么说类型不正确?我想既然 myMessage 是一个整数就可以了……(第一次使用 MIPS)
【问题讨论】:
不正确类型错误的 MIPS 操作数。将数据加载到寄存器中
.data
myMessage: .word 2
myMessage2: .word 24
.text
add $t0, $zero, myMessage
add $t1, $zero, myMessage2
为什么说类型不正确?我想既然 myMessage 是一个整数就可以了……(第一次使用 MIPS)
【问题讨论】:
从技术上讲,myMessage 是 地址单词 2 所在的内存位置。
MIPS 使用加载/存储架构,这意味着如果您想将内存中的某些数据用作操作数,您应该先将其加载到寄存器中:
la $a0, myMessage # Get the address
lw $t0, ($a0) # Get the value at that address
如果汇编程序可以为您将其转换为正确的指令序列,您也许可以不写lw $t0, myMessage。
【讨论】: