Skip to content

Instantly share code, notes, and snippets.

@xatier
Last active December 27, 2015 05:59
Show Gist options
  • Save xatier/7278047 to your computer and use it in GitHub Desktop.
Save xatier/7278047 to your computer and use it in GitHub Desktop.
; move $t0, 0 ; change to the real memory address
lui $t1, 4 ; $t0[0] = 4
sw $t1, 0($t0)
lui $t1, 5 ; $t0[1] = 5
sw $t1, 4($t0)
lui $t1, 3 ; $t0[2] = 3
sw $t1, 8($t0)
lui $t1, 2 ; $t0[3] = 2
sw $t1, 12($t0)
lui $t1, 1 ; $t0[4] = 1
sw $t1, 16($t0)
addi $t2, $t9, 0 ; for (i = 0), $t2 = i
$outer: ; outer loop
addi $t3, $t9, 0
$inner: ; inner loop
; if (a[i] < a[j])
addi $t5, $t9, 4
add $t4, $t2, $t5
lw $t5, 0($t4)
addi $t6, $t9, 4
add $t4, $t3, $t6
lw $t6, 0($t4)
bgt $t6, $t5, $swap
j $end_swap
$swap:
add $t5, $t5, $t6
sub $t6, $t5, $t6
sub $t5, $t5, $t6
$end_swap:
; inner's back edge
slt $t4, $t3, 5 ; j < 5
addi $t3, $t3, 1 ; j++
bgez $t4, $inner
; outer's back edge
slt $t4, $t2, 5 ; i < 5
addi $t2, $t2, 1 ; i++
bgez $t4, $outer
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment