我正在尝试创建一个由24个类型为Half的元素组成的动态数组,并通过将值从预定义(静态)数组以相反的顺序复制到动态数组来填充它,但是我在执行该操作时遇到了错误,无法找出错误所在。这是代码:
.data
stat: .half 5,10,15,20,25,30,35,60,36,39,2,7,54,9,80,27,19,48,33,64,24,12,71,93
space: .asciiz " "
tab: .asciiz "\t"
newline: .asciiz "\n"
.text
.globl main
main:
#print the original array elements
li $s0,24
la $t0,stat
print:
lh $a0,0($t0)
li $v0,1
syscall
la $a0,space
li $v0,4
syscall
addi $t0,$t0,2
subi $s0,$s0,1
bnez $s0,print
#reverse the array
subi $t0,$t0,2
li $s0,24
loop:
lh $t2,0($t0)
sh $t2,0($t8)
addi $t8,$t8,2
subi $t0,$t0,2
subi $s0,$s0,1
bnez $s0,loop
la $a0, newline
li $v0,4
syscall
# creating a dynamic array to store the reversed array in it
li $a0,48
li $v0,9
syscall
move $t8,$v0
#store the reversed array elements in the dynamic array
li $s0,24
printt:
lh $a0,0($t8)
li $v0,1
syscall
la $a0,tab
li $v0,4
syscall
addi $t0,$t0,2
subi $s0,$s0,1
bnez $s0,printt
# exit program
li $v0,10
syscall
这是显示给我的错误:
<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9tZWwyTS5wbmcifQ==” alt =“在此处输入图像描述”>
我解决了错误,但现在执行时输出错误
5 10 15 20 25 30 35 60 36 39 2 7 54 9 80 27 19 48 33 64 24 12 71 93 5 10 15 20 25 30 35 60 36 39 2 7 54 9 80 27 19 48 33 64 24 12 71 93 5 10 15 20 25 30 35 60 36 39 2 7 54 9 80 27 19 48 33 64 24 12 71 93
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-- program is finished running --