#Laboratorio 3 - esercizio 7 #Scrivere un programma assembly che scriva i numeri da 20 a 30 negli indirizzi di memoria #da 0x10010000 a 0x10010028 utilizzando un ciclo (e poi termini l’esecuzione). .data numero20: .word 20 #salvo in memoria, all'indirizzo numero20, il valore 20 (con dimensione di una word) numero31: .word 31 #salvo in memoria, all'indirizzo numero31, il valore 31 (con dimensione di una word) .text main: lw $a0, numero20 #metto nel registro $a0, il primo numero lw $a1, numero31 #metto nel registro $a1, il secondo numero li $t0, 0x10010000 #metto nel registro $t0, l'indirizzo di memoria in cui si vuole iniziare la memorizzazione dei numeri ciclo: beq $a0, $a1, fineciclo #se il contenuto di $a0 e $a1 sono uguali, termino il ciclo sw $a0,0($t0) #salvo il contenuto del registro $a0 all'indirizzo contenuto nel registro $t0 addi $a0,$a0,1 #incremento di 1 il contenuto del registro $a0 addi $t0,$t0,4 #incremento di 4 (pari a una word) il contenuto del registro $t0 j ciclo fineciclo: #terminazione del programma li $v0, 1 syscall