daily pastebin goal
46%
SHARE
TWEET

Untitled

a guest Mar 21st, 2019 49 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top