如何反转数组元素并将其存储在动态数组中

问题描述 投票:-1回答:1

我正在尝试创建一个由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 =“在此处输入图像描述”>

arrays loops assembly mips
1个回答
0
投票

我解决了错误,但现在执行时输出错误

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 --
© www.soinside.com 2019 - 2024. All rights reserved.