微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MIPS从地址加载值

如何解决MIPS从地址加载值

我正在学习MIPS汇编语言,我想知道如何从地址中加载值。例如,我想在$ t2中存储内存地址0x10010000。 0x10010000的值是12,33,70,70(0x10010000-0x10010003)。 0x10010004应该像F4,A6,12,99((0x10010004-0x10010007)。

我到目前为止有这个

add $t3,$t2,$zero
lw $t4,0($t3)
add $t5,$t4,-6
sw $t5,4($t2)

但是不知道我将如何“初始化” $ t2

解决方法

在数据上添加标签,然后使用la $t2,labelName

或者,您可以使用0x10010000$t2加载到lui中,这会将16位值的常量加载到寄存器的上部—在这里您将使用{{1} }。

如果对于低16位您需要非零(例如,对于lui $t2,0x1001),请在0x10010400之后用lui(例如,{{1 }}。

此外,ori是伪指令。通常它将扩展为两个指令,并且在汇编代码时(例如,在MARS或QtSPIM中)您将能够看到。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。