Advertisement
Guest User

Untitled

a guest
Mar 21st, 2019
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.17 KB | None | 0 0
  1. .data
  2. list: .word 13, 5, 3, 1, 9, 0, 4, 77, 7
  3.  
  4. .globl main
  5.  
  6. .text
  7.  
  8. main:
  9. la, $t0, list # Pega os o endereço de memória da lista e manda para o t0
  10. add $t0, $t0, 36 # 36 vem de 4 bytes * 9 (numeros dentro da list)
  11.  
  12. # O bubble sort possue 2 loops, dessa forma...
  13.  
  14. loop1:
  15. la $a0, list # muda o endereço de memória para o registrador $a0
  16. add $t7, $zero, $zero # Sinaliza
  17.  
  18. loop2:
  19. lw $t6, 0($a0) # Pega o primeiro elemento da list
  20. lw $t5, 4($a0) # Pega o próximo elemento da list
  21.  
  22. # A partir de agora começa a comparação para fazer o bubble sort
  23.  
  24. slt $t4, $t7, $t6 # Compara os registradores t7 e t6, para saber qual o menor
  25. bgtz $t4, segue # Se o registrador t4 for maior que 0
  26. add $t7, $zero, 1 # Incrementa 1, para varrer a list de novo para confirmar se ta tudo certo
  27. # e se Deus quiser vai estar
  28. sw $t6, 4($a0) # Organiza a list maior
  29. sw $t7, 0($a0) # Organiza a list menor
  30.  
  31. segue:
  32. addi $a0, $a0, 4 # Começa na próxima posição
  33. bne $a0, $t0, loop2 # Se os números não baterem com a ordem correta, volta pra o loop2
  34. 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