Ordenaçao de vetor de 5 posições no processador mips
inicio: la $t0, vetor # carrega o endereço base do array em $t0
li $t1, 5 # carrega imediato, $t1 = 5 sw $t1, ($t0) # primeiro elemento do array é 5 li $t1, 2 # $t1 = 2 sw $t1, 4($t0) # segundo elemento do array é 2 li $t1, 7 # $t1 = 7 sw $t1, 8($t0) # terceiro elemento do array é 7 li $t1, 1 # $t1 = 1 sw $t1, 12($t0) # quarto elemento do array é 1 li $t1, 6 # $t1 = 6 sw $t1, 16($t0) # quinto elemento do array é 6 addi $t0, $zero, 0 # começa com 0 o índice do for1 addi $t1, $t0, 1 # índice do for 2 é $t0 + 1 addi $t2, $zero, 5 # $t2 guarda o tamanho do vetor que é 5 # o vetor a ser ordenado: 5, 2, 7, 1, 6 for1: sub $t3, $t2, $t0 # $t3 = $t2 - $t0 (tamanho do vetor - índice do for 1) beqz $t3, efor1 # se a subtração for 0 então sai do for1 sll $t8, $t0, 2 # $t8 guarda o desclocamento do elemento do for1 for2: lw $t6, vetor($t8) # guarda o elemento do for1 em $t6s sub $t5, $t2, $t1 # $t5 = $t2 - $t1 (tamanho do vetor - índice do for 2) beqz $t5, ifor1 # se a subtração for 0 então vai para ifor1 (incremento de for1) sll $t9, $t1, 2 # $t9 guarda o desclocamento do elemento do for1 lw $t7, vetor($t9) # guarda o elemento do for2 em $t7 sub $t4, $t7, $t6 # subtração do elemento do for2 pelo elemento do for1 bgez $t4, ifor2 # se subtração for maior ou igual a zero, então ifor2 (incrementa for2)
# logo abaixo é feita a troca sw $t6, vetor($t9) # coloco $t6 na nova posição sw $t7, vetor($t8) # coloco $t7 na nova posição