【发布时间】:2016-05-20 16:37:58
【问题描述】:
我对 MIPS 很陌生,并试图了解以下两个汇编指令之间的区别和目的。在程序的开头我声明:
.data
msg: .word msg_data
msg_data: .asciiz "Hello world"
所以在 main 函数中,以下两个都有效,但是每个的目的是什么?
la $t0, msg
lw $a0, 0($t0)
li $v0, 4
syscall
另一个是:
la $a0, msg_data
li $v0, 4
syscall
【问题讨论】:
-
第一个从内存中加载一个指针,该指针可以指向任何地方并且可以更改,第二个直接获取字符串的地址。