feat: Initial commit
This commit is contained in:
47
Laboratorio9/hamming.asm
Normal file
47
Laboratorio9/hamming.asm
Normal file
@@ -0,0 +1,47 @@
|
||||
DIM =, 5
|
||||
.data
|
||||
vet1: .word 56, 12, 98, 129, 58
|
||||
vet2: .word 1, 0, 245, 129, 12
|
||||
risultato: .space DIM
|
||||
.text
|
||||
.globl main
|
||||
.ent main
|
||||
main:
|
||||
la $a0, vet1
|
||||
la $a1, vet2
|
||||
la $a2, risultato
|
||||
li $a3, DIM
|
||||
jal CalcolaDistanzaH
|
||||
li $v0, 10 # codice per uscita dal programma
|
||||
syscall
|
||||
.end main
|
||||
|
||||
.ent CalcolaDistanzaH
|
||||
CalcolaDistanzaH:
|
||||
sll $a3, $a3, 2
|
||||
addu $t0, $a0, $a3
|
||||
|
||||
loop:
|
||||
lw $t1, ($a0)
|
||||
lw $t2, ($a1)
|
||||
xor $t1, $t1, $t2
|
||||
li $t2, 0
|
||||
li $t3, 0
|
||||
|
||||
iloop:
|
||||
andi $t4, $t1, 0x0001
|
||||
addu $t2, $t2, $t4
|
||||
srl $t1, $t1, 1
|
||||
addiu $t3, $t3, 1
|
||||
bne $t3,8, iloop
|
||||
|
||||
sw $t2, ($a2)
|
||||
|
||||
# incremento
|
||||
addiu $a0, $a0, 4
|
||||
addiu $a1, $a1, 4
|
||||
addiu $a2, $a2, 4
|
||||
bne $a0, $t0, loop
|
||||
|
||||
jr $ra
|
||||
.end CalcolaDistanzaH
|
||||
Reference in New Issue
Block a user