.data array: .word 3, 7, 1, 4, 9, 6, 8, 2, 0, 5 # 10 numeri interi str_trovato: .asciiz "Trovato\n" str_non_trovato: .asciiz "Non trovato\n" .text .globl main main: li $t0, 0 # $t0 = indice = 0 li $t1, 10 # $t1 = lunghezza dell'array li $t2, 5 # $t2 = numero da cercare (5) la $t3, array # $t3 = indirizzo base dell'array ciclo: beq $t0, $t1, non_trovato # Se indice == 10 → fine array → non trovato lw $t4, 0($t3) # Carica array[i] in $t4 beq $t4, $t2, trovato # Se array[i] == 5 → trovato! addi $t3, $t3, 4 # Avanza all'elemento successivo addi $t0, $t0, 1 # indice++ j ciclo # Ripeti ciclo trovato: li $v0, 4 # print_string la $a0, str_trovato syscall j fine non_trovato: li $v0, 4 la $a0, str_non_trovato syscall fine: li $v0, 10 # exit syscall