Primero que nada el código:
.data prompt: .asciiz "Enter in an integer: " str1: .asciiz "the answer is: " newline: .asciiz "\n" bye: .asciiz "Goodbye!\n" .globl main .text main: # Inicializando li $s0, 10 # Imprime la linea para captura de datos li $v0, 4 # Carga $v0 para imprimir un string la $a0, prompt # Carga en $a0 la dirección de prompt syscall # Se hace la llamada al sistema # Lee el valor li $v0, 5 # Carga $v0 para leer un entero syscall # Se hace la llamada al sistema move $s0, $v0 # Mueve el valor de $v0 a $s0 loop: # Imprime str1 li $v0, 4 # Carga $v0 para imprimir un string la $a0, str1 # Carga en $a0 la dirección de str1 syscall # Se hace la llamada al sistema # Imprime el valor del loop li $v0, 1 # Carga $v0 para imprimir un entero move $a0, $s0 # Mueve $s0 a $a0 syscall # Se hace llamada al sistema # Imprime el nuevo valor li $v0, 4 # Carga $v0 para imprimir un string la $a0, newline # Carga en $a0 la direción de newline syscall # Se hace llamada al sistema # Decrementa la variable sub $s0, $s0, 1 # Iguala $s0 a $s0 -1 bgez $s0, loop # Si $s0 >= 0 regresa a loop, si no, continua. # Imprime mensaje de adios li $v0, 4 # Carga $v0 para imprimir un string la $a0, bye # Carga en $a0 la dirección de bye jr $ra # Se guardan registros en $ra y sale del programa
Van 4 para el lab.
ResponderBorrar