1
0
Files
Laboratori-MIPS/Temi esame/cambio.asm
2024-03-22 13:53:19 +01:00

52 lines
1.1 KiB
NASM

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