.data salto: .asciiz "\n" mensaje: .asciiz "El término de fibonacci es: " mensaje2: .asciiz "El logaritmo base dos es: " nombres: .asciiz "Los nombres de los estudiantes son: " nombre1: .asciiz "- Kevin Andres Acosta Rengifo 2067578" nombre2: .asciiz "- Jenifer Castaño Ledesma 2067525" nombre3: .asciiz "- Monica Andrea Cifuentes Salcedo 2067536" .text addi $s0, $0, 0 # a = 0 addi $s1, $0, 1 # b = 1 addi $s3, $0, 0 # s3 = m addi $s4, $0, 1 # s4 = p addi $t0, $0, 15 # Número de iteraciones serieFibonacci: slt $t1,$0, $t0 # Comprobar si el contador de iteraciones es menor a cero beq $t1, 0, done # Salir del bucle cuando t1 == 0 jal log2c add $s2, $s0, $s1 # Calcular el numero de fibonacci con la suma move $s0, $s1 # pasamos el valor de s1 a s0 para imprimir luego move $s1, $s2 # pasamos el valor de s2 a s1 subi $t0, $t0, 1 # resta en un j serieFibonacci log2c: slt $t2, $s4, $s0 # si p < n: 1 else:0 beq $t2, 0, retorno # si el retorno anterior es 0 va a retorno addi $s3, $s3, 1 sll $s4, $s4,1 j log2c retorno: li $v0, 4 # Cargar el código de la llamada al sistema para imprimir cadena de caracteres la $a0, mensaje syscall li $v0, 1 # Cargar el código de la llamada al sistema para imprimir un entero move $a0, $s0 syscall li $v0, 4 # Cargar el código de la llamada al sistema para imprimir cadena de caracteres la $a0, salto syscall li $v0, 4 # Cargar el código de la llamada al sistema para imprimir cadena de caracteres la $a0, mensaje2 syscall li $v0, 1 # Cargar el código de la llamada al sistema para imprimir un entero move $a0, $s3 syscall li $v0, 4 # Cargar el código de la llamada al sistema para imprimir cadena de caracteres la $a0, salto syscall li $v0, 4 # Cargar el código de la llamada al sistema para imprimir cadena de caracteres la $a0, salto syscall jr $ra done: li $v0, 4 # Cargar el código de la llamada al sistema para imprimir cadena de caracteres la $a0, nombres syscall li $v0, 4 la $a0, salto syscall li $v0, 4 la $a0, nombre1 syscall li $v0, 4 la $a0, salto syscall li $v0, 4 la $a0, nombre2 syscall li $v0, 4 la $a0, salto syscall li $v0, 4 la $a0, nombre3 syscall li $v0, 10 # Cargar el código de la llamada al sistema para salir del programa syscall