MIPS: Solicitar al usuario que introduzca una cadena mostrando mensaje informativo

En un post anterior vimos cómo mostrar mensajes en pantalla para informar al usuario de que debe introducir algún dato o mostrar resultados y en otro cómo solicitar al usuario que introduzca una cadena. En este post vamos a combinar ambas cosas:
Como podemos ver en el siguiente código, en la sección de datos, estamos definiendo dos mensajes informativos y reservando un espacio de 100 bytes en memoria que utilizaremos para alojar la cadena introducida por el usuario.
.data   # sección de datos 
   msg:  .asciiz "nIntroduzca una cadena: "
   msge: .asciiz "nEsta es la cadena introducida por el usuario: "
   str:  .space 100 
   
.text   # sección de código
.globl main 

main:
   # Mostramos en pantalla el mensaje que solicita al usuario introducir un string
   la $a0, msg   # Cargamos en el registro $a0 la dirección de la cadena a imprimir
   li $v0, 4     # Colocamos en $v0 el número de llamada al sistema que permite imprimir un string
   syscall       # Ejecutamos la llamada al sistema indicada en el registro $v0

   # Solicitamos al usuario que introduzca un string
   la $a0, str   # Cargamos en el registro $a0 la dirección del espacio reservado para almacenar la cadena leída
   li $a1, 100   # Cargamos en el registro $a1 la longitud máxima de la cadena leída
   li $v0, 8     # Realizamos la llamada al sistema para leer una cadena
   syscall

   # Mostramos en pantalla el mensaje informativo 
   la $a0, msge  # Cargamos en el registro $a0 la dirección de la cadena a imprimir
   li $v0, 4     # Colocamos en $v0 el número de llamada al sistema que permite  imprimir un string
   syscall       # Ejecutamos la llamada al sistema indicada en el registro $v0

   # Mostramos en pantalla el string introducido por el usuario
   la $a0, str   # Cargamos en el registro $a0 la dirección de la cadena a imprimir
   li $v0, 4     # Colocamos en $v0 el número de llamada al sistema que permite imprimir un string
   syscall       # Ejecutamos la llamada al sistema indicada en el registro $v0
Hemos separado cada bloque de instrucciones:
  • En el primer bloque mostramos el mensaje que solicita al usuario que introduzca una cadena.
  • En el segundo bloque solicitamos la introducción de la cadena.
  • En el tercer bloque mostramos un mensaje informativo.
  • En el cuarto bloque mostramos la cadena introducida por el usuario.
Be the first to comment

Por favor acceder para comentar.