首页 > 解决方案 > Mips,如何使用带有 lw 的偏移量获得一个 .word 中的第二个值

问题描述

我有这个代码

size:   .word 8 9   

我想得到 9 并将其存储在寄存器中,到目前为止我已经尝试过

lw $a0, size    
lw $a0, 4(size)

但我不认为我使用了正确的偏移量,我如何从这个 .word 中获取 8 和 9 并将它们存储在单独的寄存器中

标签: assemblymips

解决方案


要加载地址,请使用la,而不是lw。然后,过去 4 个字节。

la $t0, size
lw $a0, 0($t0)  # 8
lw $a1, 4($t0)  # 9

此外,正如@Eraklon 所说,用逗号分隔您的 .word 指令:

size:
    .word 8, 9  

推荐阅读