DIM =, 6 .data vetB: .byte 2, 14, 119, 54, 10, 41 vetN: .space DIM .text .globl main .ent main main: la $a0, vetB la $a1, vetN li $a2, DIM jal Cambio li $v0, 10 # codice per uscita dal programma syscall # fine .end main .ent Cambio Cambio: li $t0, 0 # contatore di riga loop: li $t1, 0 # numero di cambi addu $t2, $t0, $a0 lb $t2, ($t2) # carico la parola li $t3, 0 # contatore bit # inizializzo last val andi $t4, $t2, 0x00000001 rileva_cambi: srl $t2, $t2, 1 andi $t5, $t2, 0x00000001 beq $t4, $t5, cont addiu $t1, $t1, 1 cont: move $t4, $t5 addiu $t3, $t3, 1 bne $t3, 7, rileva_cambi addu $t2, $t0, $a1 sb $t1, ($t2) # salvo il risultato in vetN addiu $t0, $t0, 1 bne $t0, $a2, loop jr $ra .end Cambio