33 lines
470 B
NASM
33 lines
470 B
NASM
#a0 matrice
|
|
#a1 num
|
|
#a2 SAC
|
|
|
|
.ent calcolaCosto
|
|
calcolaCosto:
|
|
li $t0, 0
|
|
move $t1, a0
|
|
li $t2,0
|
|
li $t3,0
|
|
|
|
ciclo:
|
|
lw $t4, 0($t1)
|
|
addiu $t1,$t1,1
|
|
addu $t2,$t2,$t1
|
|
|
|
lw $t4, 0($t1)
|
|
addiu $t1,$t1,1
|
|
addu $t3,$t3,$t1
|
|
|
|
lw $t4, 0($t1)
|
|
addiu $t1,$t1,1
|
|
beq $t4, 0, calc_rem # if $t4 =101 calc_rem goto target
|
|
addu $t3, $t3, $a2
|
|
calc_rem:
|
|
blt $t3, 99, incr # if $t0 < $t1 then goto target
|
|
sub $t3,$t3,100
|
|
addiu $t2,$t2,1
|
|
incr:
|
|
addiu $t0, $t0, 1
|
|
bne $t0, $a1, ciclo
|
|
|
|
.end calcolaCosto |