im正在从事作业,要求以下作业。
1)创建一个数组2)保存用户提供的INT(10)3)用逗号打印数字4)用布布排序对它们进行排序并打印它们
这是我的代码,它是前3个步骤,但是在第三步中,我的代码出现了问题,它并不是所有数字,而只是最后一个。
。.data
array: .word 0:40
promtp: .asciiz "Give integer: n"
promtp1: .asciiz "Unsorted Array: n"
.text
jal read
read:
la $t0, 0 #count variable
b readLoop
readLoop:
beq $t0, 40, end #branch if equal to 40, 10 items
li $v0, 4 #Print string
la $a0, promtp #load prompt
syscall
li $v0, 5 #read int
syscall
sw $v0, array #store input in array ERROR HERE
addi $t0, $t0, 4 #add by 4 to counter
b readLoop
end:
li $v0, 4 #Print string
la $a0, promtp1 #load prompt
syscall
la $t0, 0
while:
beq $t0,40,end1
lw $t6,array($t0)
li $v0,1
move $a0,$t6
syscall
li $a0, 44
li $v0, 11
syscall
addi $t0, $t0 , 4
b while
end1:
li $v0, 10
syscall
sw $v0, array #store input in array ERROR HERE
这将将值存储在寄存器$v0
中的位置array
。
全部。
在内存中的同一位置。
根据数组代码的打印来判断,我认为您可能想在输入循环中进行sw $v0,array($t0)
,也许?