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

时间:2016-12-18 19:05:45

标签: assembly mips

我正在做一份要求以下内容的作业。

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

1 个答案:

答案 0 :(得分:1)

$acl = Get-Acl -Path 'C:\Temp'

$ace = $acl.Access | Where-Object { $_.IdentityReference -eq 'BUILTIN\Users' }
$newAce = New-Object System.Security.AccessControl.FileSystemAccessRule (
    'new\name',
    $ace.FileSystemRights,
    $ace.InheritanceFlags,
    $ace.PropagationFlags,
    $ace.AccessControlType
)
$acl.RemoveAccessRule($ace)
$acl.AddAccessRule($newAce)

Set-Acl -Path 'C:\Temp' -AclObject $acl

这会将寄存器sw $v0, array #store input in array ERROR HERE 中的值存储到地址$v0的内存中。

所有这些。

在记忆中的同一个地方。

从打印数组代码来判断,我想你可能想在输入循环中做array,也许?