Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .data
- mesajVectorulSortatEste: .asciiz "Vectorul sortat este: "
- sizeString: .asciiz "Introduceti numarul de elemente: "
- startString: .asciiz "Introduceti numar: "
- .align 2
- vector: .space 100
- .text
- la $t1, vector # vector
- li $t8, 0 # inserted items
- puts sizeString
- geti $a1
- move $t0, $a1 # $t0 = $a1 (size of vector)
- putc '\n'
- read:
- puts startString
- geti $a1
- putc '\n'
- sw $a1, ($t1) # vector[i] = a1
- addi $t1, $t1, 4 # vector index += 4
- addi $t8, $t8, 1 # inserted items += 1
- bne $t8, $t0, read # daca inserted items != a1 => read
- putc '\n'
- puti $a1
- putc '\n'
- la $t0, vector
- move $a1, $t8 # n = 10
- jal BubbleSort
- puts mesajVectorulSortatEste
- la $t0, vector
- afiseazaNumar:
- lw $a0, ($t0)
- puti $a0
- putc ', '
- addi $t0, $t0, 4
- addi $a1, $a1, -1
- bgtz $a1, afiseazaNumar
- sfarsit_program:
- done
- # primeste in $a1 pe n
- #
- # for(k=1;k<=n-1 ; k++)
- # {
- # inForDupaK:
- # for(i=0;i<n-1 ; i++)
- # {
- # inForDupaI:
- # if(a[i] > a[i+1])
- # {
- # swap(a[i], a[i+1]), #, swap(a[i],a[i+1])#,swap(a[i],a[i+1])#,swap(a[i],a[i+1])#,swap(a[i],a[i+1])#,swap(a[i],a[i+1])#,swap(a[i],a[i+1])#,swap(a[i],a[i+1])#,swap(a[i],a[i+1])#,swap(a[i],a[i+1])#,swap(a[i],a[i+1])# swap(a[i], a[i+1]);
- # }
- # }
- # }
- BubbleSort:
- li $t1, 1 # k = 1
- move $t2, $a1 # $t2 = n
- forDupaK:
- li $t3, 0 # i = 0
- move $t4, $a1
- addi $t4, $t4, -1 # $t4 = n - 1
- la $t0, vector
- forDupaI:
- lw $t5, ($t0) # $t5 = a[i]
- lw $t6, 4($t0) # $t6 = a[i+1]
- sgt $t7, $t5, $t6 # a[i] > a[i+1]
- beqz $t7, continua
- swap:
- sw $t6, ($t0)
- sw $t5, 4($t0)
- continua:
- addi $t3, $t3, 1 # i++
- addi $t0, $t0, 4 # vector += 4
- slt $t7, $t3, $t4 # daca i < n - 1
- bnez $t7, forDupaI
- addi $t1, $t1, 1 # k++
- slt $t7, $t1, $t2 # daca k < n
- bnez $t7, forDupaK
- jr $ra
Advertisement
Add Comment
Please, Sign In to add comment