Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .data
- spacing:.asciiz " "
- .align 5
- array: .asciiz "Joe"
- .align 5
- .asciiz "Jenny"
- .align 5
- .asciiz "Jill"
- .align 5
- .asciiz "John"
- .align 5
- .asciiz "Jeff"
- .align 5
- .asciiz "Joyce"
- .align 5
- .asciiz "Jerry"
- .align 5
- .asciiz "Janice"
- .align 5
- .word 0
- .align 2
- ptr_array: .space 32
- end_of_ptr:
- size: .word 8
- i: .word ptr_array
- j: .word ptr_array
- .text
- main:
- la $t0,ptr_array
- la $t1,end_of_ptr
- la $t2,array
- setptr:
- sw $t2,0($t0)
- addi $t0,$t0,4
- addi $t2,$t2,32
- blt $t0,$t1,setptr
- jal sort_loop
- la $a1,ptr_array
- jal print
- end:
- li $v0, 10
- syscall
- print:
- set_j:
- subi $sp,$sp,16
- sw $ra,12($sp)
- loop_j:
- la $t1,end_of_ptr
- beq $a1,$t1,end_j
- la $a0,($a1)
- lw $a0,($a0)
- li $v0,4
- syscall
- la $a0,spacing
- li $v0,4
- syscall
- addi $a1,$a1,4
- b loop_j
- end_j:
- lw $ra,12($sp)
- addi $sp,$sp,16
- jr $ra
- sort_loop:
- set_i:
- subi $sp,$sp,16
- sw $ra,12($sp)
- loop_i:
- outer_loop:
- la $t0,i
- lw $t0,($t0)
- la $t1,end_of_ptr
- beq $t0,$t1,end_i
- la $t0,i
- lw $t0,($t0)
- sw $t0,j
- la $t0,i
- lw $t0,($t0)
- addi $t0,$t0,4
- sw $t0,i
- inner_loop:
- lw $t0,j
- la $t1,ptr_array
- ble $t0,$t1,outer_loop
- lw $t0,j
- subi $t1,$t0,4
- lw $t2,($t0)
- lw $t3,($t1)
- li $t6,0
- strcmp:
- lb $t4,($t2)
- lb $t5,($t3)
- blt $t4,$t5,swap
- bgt $t4,$t5,outer_loop
- addi $t2,$t2,1
- addi $t3,$t3,1
- addi $t6,$t6,1
- bge $t6,9,outer_loop
- b strcmp
- swap:
- sub $t2,$t2,$t6
- sub $t3,$t3,$t6
- sw $t2,($t1)
- sw $t3,($t0)
- la $t0,j
- lw $t0,($t0)
- subi $t0,$t0,4
- sw $t0,j
- b inner_loop
- end_i:
- lw $ra,12($sp)
- addi $sp,$sp,16
- jr $ra
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement