Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .data
- Vetor: .word 14, 12, 13, 5, 9, 11, 3, 6
- Zero: .word 0
- T1: .word
- .text
- main:
- la $t0, Vetor # Copia o endereço base do array para $t0
- addi $t0, $t0, 28 # Endereço da última posição
- loopfora:
- lw $t2, Zero
- addi $t1, $t2, 0 # $t1 Determina quando a lista já está ordenada
- sw $t1, T1
- la $a0, Vetor # Copia o endereço base do array para $a0
- loopdentro:
- lw $t1, 0($a0) # $t1 recebe o elemento atual do array
- lw $t2, 4($a0) # $t1 recebe o elemento seguinte do array
- slt $s0, $t1, $t2 # $s0 = 1 se $t1 < $t2
- bne $s0, $zero, continua # se $s0 != 1, pula
- #### Troca de posição
- sw $t1, 4($a0)
- sw $t2, 0($a0)
- lw $t2, Zero
- addi $t1, $t2, 1 # $t1 = 1
- sw $t1, T1
- continua:
- lw $t1, T1
- addi $a0, $a0, 4 # Vai para o proximo elemento do vetor
- bne $a0, $t0, loopdentro # Se $a0 não for o final do vetor, volta para o loopdentro
- bne $t1, $zero, loopfora # Se $t1 for diferente de 0, volta para o loopfora pois é necessário percorrer o vetor novamente
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement