MIPS: Imprimir un mensaje en pantalla

Una de las operaciones más básicas que realizamos en cualquier lenguaje es mostrar mensajes en pantalla para informar al usuario de que debe introducir algún dato o mostrar resultados.
Como podemos ver en el siguiente código, en la sección de datos, estamos declarando una variable str de tipo string que contiene la cadena Hola mundo y el caracter de nueva línea.
.data   # sección de datos 
   str: .asciiz "Hola mundon" 
   
.text   # sección de código
.globl main 

main:
   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

El código es muy sencillo:

  • Cargamos en el registro $a0 la dirección de la cadena a mostrar. Recordemos que los registros $a0, $a1, $a2 y $a3 guardan los argumentos para las subrutinas. Estos registros pueden ser modificados dentro de las subrutinas.
  • Cargamos en el registro $v0 el código de la llamada al sistema que permite imprimir un string en pantalla.
  • Hacemos la llamada al sistema.
No importa el orden en que carguemos la dirección de la cadena y el valor de la llamada al sistema.
En el código anterior estamos definiendo una etiqueta main y la estamos declarando como global (.globl main). Declarar una etiqueta como global, nos permite poder referenciarla desde otros ficheros. No influye en la ejecución del código.
Si pegamos el código anterior en MARS y lo ejecutamos, veremos que se mostrará la cadena Hola mundo y se realizará un salto de línea.
Be the first to comment

Por favor acceder para comentar.