如何填充数组,打印它并使用冒泡排序 MIPS 程序集对其进行排序

How to fill an array , print it and sort it with bubble sort MIPS assembly

我正在做作业,要求满足以下要求。

1) 创建数组 2) 保存用户提供的整数 (10) 3)用逗号打印数字 4)用buble sort对它们进行排序并打印它们

这是我执行前 3 个步骤的代码,但在第 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),也许吧?