Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .data
- list: .word 13, 5, 3, 1, 9, 0, 4, 77, 7
- .globl main
- .text
- main:
- la, $t0, list # Pega os o endereço de memória da lista e manda para o t0
- add $t0, $t0, 36 # 36 vem de 4 bytes * 9 (numeros dentro da list)
- # O bubble sort possue 2 loops, dessa forma...
- loop1:
- la $a0, list # muda o endereço de memória para o registrador $a0
- add $t7, $zero, $zero # Sinaliza
- loop2:
- lw $t6, 0($a0) # Pega o primeiro elemento da list
- lw $t5, 4($a0) # Pega o próximo elemento da list
- # A partir de agora começa a comparação para fazer o bubble sort
- slt $t4, $t7, $t6 # Compara os registradores t7 e t6, para saber qual o menor
- bgtz $t4, segue # Se o registrador t4 for maior que 0
- add $t7, $zero, 1 # Incrementa 1, para varrer a list de novo para confirmar se ta tudo certo
- # e se Deus quiser vai estar
- sw $t6, 4($a0) # Organiza a list maior
- sw $t7, 0($a0) # Organiza a list menor
- segue:
- addi $a0, $a0, 4 # Começa na próxima posição
- bne $a0, $t0, loop2 # Se os números não baterem com a ordem correta, volta pra o loop2
- bne $a0, $t0, loop1 # Se os números não baterem com a ordem correra, volta pra o loop1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement