.data
Stackarray: .word 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
TopStack: .word 0
BottomStack: .word 0
.text
la $s0, Stackarray # stores the beginning of array into $s0
la $a1, 4($s0) # stores address of second element of array into $a1
sw $a1, TopStack
TopStack应该保存一个地址的值,但是当我打印TopStack时,它会出现一个巨大的数字:“268500996”。 我只是想验证TopStack是否保存数组第二个元素的地址值。真实值应为“10010004”
答案 0 :(得分:0)
为什么你认为“真正的价值”是1001004?
我在代码的末尾添加了以下内容
#print data in TopStack
lw $a0, TopStack
li $v0, 1
syscall
#new line
li $a0, 10
li $v0, 11
syscall
#print address of Stackarray
la $a0, Stackarray
li $v0, 1
syscall
我得到了:
268500996
268500992
所以一切都与我相符。