Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # primer za niza a[5] = 1 2 3 4 5 i ako $s1 e 5, vo memorija ke se zacuva 1 (brojac = 4 / 4 = 1)
- addi $t0, $0, 0 # i = 0
- addi $s1, $0, 5 # sporedba so pomali od brojot
- addi $t4, $0, 4 # za delenje so 4
- addi $t5, $0, 0 # brojac za kolku broevi se pomali
- addi $s2, $0, 5 # n
- Loop:
- beq $t0, $s2, out # i < n, ako e razlicno porodolzi , ako ne e -> out
- lw $t1, 0($s0) # zemi go elementot od memorija -> a[i]
- jal Pomal # povik na funkcija
- addi $t2, $v0, 0 # $t2 = $v0 rezultat od funkcijata
- beq $t2, 0, sleden # $t2 !=0 prodolzi , inaku -> sleden
- addi $t5, $t5, 1 # brojaczapomalielementi++
- sleden:
- addi $t0, $t0, 1 # i++
- addi $s0, $s0, 4 # za pristapuvanje za sledniot element a[i++]
- j Loop # skokni pak na loop
- out:
- div $t5, $t4 # podeli go brojac so 4
- mflo $t5 # rezultatot
- sw $t5, 0($s3) # zacuvi go vo memorija na adresata $s3
- li $v0, 10 # return 0
- syscall
- Pomal:
- li $v0, 1 # vrakja 1 (return 1)
- slt $t2, $t1, $s1 # $t1 < $s1 , ako e pomal $t1 -> $t2=1, ako ne e $t2=0
- beq $t2, 1, izlez # if($t2 = 1) odi na izlez i return 1
- li $v0, 0 # else odi na izleze i return 0
- izlez:
- jr $ra # za vrakanje nazad kon povikot na funkcijata
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement