# Inicializar los primeros dos términos de Fibonacci li $t0, 0 # F(0) li $t1, 1 # F(1) # Almacenar los primeros dos términos en la secuencia sw $t0, fib_secuencia # Almacena F(0) en fib_sequence[0] la $t5, fib_secuencia # Cargar la dirección base de fib_sequence en $t5 addiu $t5, $t5, 4 # Sumar el desplazamiento en bytes para el segundo término sw $t1, ($t5) # Almacena F(1) en fib_sequence[1] # Calcular los siguientes 6 términos de Fibonacci li $t2, 8 # Número total de términos a calcular desde el 0 hasta los 9 primeros números evaluando desde el 0 li $t3, 2 # Índice actual de término fibonacci_loop: # Calcular el siguiente término de Fibonacci: F(n) = F(n-1) + F(n-2) add $t4, $t0, $t1 # $t4 = $t0 + $t1 # Almacenar el siguiente término en la secuencia sll $t6, $t3, 2 # $t6 = $t3 * 4 (para calcular el desplazamiento en bytes) addu $t5, $t5, $t6 # Sumar la dirección base y el desplazamiento sw $t4, ($t5) # Almacena el término en fib_sequence[t3] # Imprimir el término actual move $a0, $t4 # Colocar el término en el registro $a0 li $v0, 1 # Código de servicio del sistema para imprimir entero syscall # Actualizar los registros para el siguiente cálculo move $t0, $t1 # $t0 = $t1 (F(n-1)) move $t1, $t4 # $t1 = $t4 (F(n)) # Actualizar el índice del término actual addi $t3, $t3, 1 # $t3 = $t3 + 1 # Verificar si se han calculado todos los términos bne $t3, $t2, fibonacci_loop # Saltar a fibonacci_loop si $t3 != $t2 # Terminar la ejecución li $v0, 10 # Código de salida del programa