Kuntz87
30-03-2007, 13:07
ciao, mi dite se ho fatto bene questo esercizio in assembler, devo fare la media di 5 valori presi dalla memoria
.text
.globl main
main:
lb $t0, val1 #carico con lb il valore della locazione di memoria val1 nel registro $t0
lb $t1, val2 #carico con lb il valore della locazione di memoria val2 nel registro $t1
lb $t2, val3 #carico con lb il valore della locazione di memoria val3 nel registro $t2
lb $t3, val4 #carico con lb il valore della locazione di memoria val4 nel registro $t3
lb $t4, val5 #carico con lb il valore della locazione di memoria val5 nel registro $t4
li $t5, 5 #carico con li il valore 5 nel registro $t5
add $t6,$t0,$t1 #sommo con add i contenuti dei registri $t0 e $t1 e metto il risutato nel registro $t6
add $t6,$t6,$t2 #sommo con add i contenuti dei registri $t6 e $t2 e metto il risutato nel registro $t6
add $t6,$t6,$t3 #sommo con add i contenuti dei registri $t6 e $t3 e metto il risutato nel registro $t6
add $t6,$t6,$t4 #sommo con add i contenuti dei registri $t6 e $t4 e metto il risutato nel registro $t6
div $t7,$t6,$t5 #divido il contenuto del registro $t6, ovvero la somma dei cinque valore per 5, per avere la media
sb $t7,result #memorizzo il valore del registro $t7, media dei cinque valori, nella locazione di memoria result
.data
val1: .byte 3
val2: .byte 6
val3: .byte 4
val4: .byte 9
val5: .byte 8
result: .byte 0
.text
.globl main
main:
lb $t0, val1 #carico con lb il valore della locazione di memoria val1 nel registro $t0
lb $t1, val2 #carico con lb il valore della locazione di memoria val2 nel registro $t1
lb $t2, val3 #carico con lb il valore della locazione di memoria val3 nel registro $t2
lb $t3, val4 #carico con lb il valore della locazione di memoria val4 nel registro $t3
lb $t4, val5 #carico con lb il valore della locazione di memoria val5 nel registro $t4
li $t5, 5 #carico con li il valore 5 nel registro $t5
add $t6,$t0,$t1 #sommo con add i contenuti dei registri $t0 e $t1 e metto il risutato nel registro $t6
add $t6,$t6,$t2 #sommo con add i contenuti dei registri $t6 e $t2 e metto il risutato nel registro $t6
add $t6,$t6,$t3 #sommo con add i contenuti dei registri $t6 e $t3 e metto il risutato nel registro $t6
add $t6,$t6,$t4 #sommo con add i contenuti dei registri $t6 e $t4 e metto il risutato nel registro $t6
div $t7,$t6,$t5 #divido il contenuto del registro $t6, ovvero la somma dei cinque valore per 5, per avere la media
sb $t7,result #memorizzo il valore del registro $t7, media dei cinque valori, nella locazione di memoria result
.data
val1: .byte 3
val2: .byte 6
val3: .byte 4
val4: .byte 9
val5: .byte 8
result: .byte 0