所以我希望输出为17,这是存储在num2地址中的值。 我正在尝试通过num1的地址到达它。它给我的输出是某种地址。 我的问题是如何通过num1中的.word标签达到num2的值? 谢谢
.macro print_int (%x)
li $v0, 1
add $a0, $zero, %x
syscall
.end_macro
.data
num1: .word num2
num2: .word 17
.text
.globl main
main:
la $t1, num1
lw $t1, 0($t1)
Print: # print to consule
print_int($t1)
li $v0, 10 # Exit program
syscall
答案 0 :(得分:1)
好,知道了,它基本上是指向指针的指针,因此只需再次添加lw即可,并且按预期工作。
.macro print_int (%x)
li $v0, 1
add $a0, $zero, %x
syscall
.end_macro
.data
num1: .word num2
num2: .word 17
.text
.globl main
main:
la $t1, num1
lw $t1, 0($t1)
lw $t1, 0($t1)
Print: # print to consule
print_int($t1)
li $v0, 10 # Exit program
syscall