0
我想只使用一个数组来反转数组。当高指数小于或等于低时,我应该继续切换高低的内容。但是,我得到的地址超出范围,并且无法找到如何修复它的资源。我应该在倒序数组时使用一个数组。我究竟做错了什么?加星标是我得到错误的地方。在MIPS汇编中获取地址超出范围?
reverseArray:
li $t6, 0 #head = first index of array
la $s0, array
li $t5, 4
mult $s0, $t5
mflo $t7 #tail = last index of array
swap:
lw $t6, 0($s0)
**lw $t4, 0($t7)**
sw $t4, 0($s0)
sw $t6, 0($t7)
add $t7, $t7, -4
add $s0, $s0, 4
sle $t1,$t7,$s0
beq $t1,$0,swap
您正在使用索引作为指针。你需要添加基地址。 – Jester
我该怎么做?什么是基地址?对不起,我刚刚开始。 @Jester –
'$ s0'是基地址,你似乎把它乘以4.这是错误的。您希望按元素大小乘以元素数并添加基地址。 – Jester