MIPS: Imprimir un caracter en pantalla

Vamos a seguir con otro ejemplo sencillo para ir aprendiendo MIPS. En este caso, vamos a escribir un código que imprima un caracter en pantalla y lo vamos a hacer utilizando nuevas instrucciones que no hemos visto aún.
Como podemos ver en el siguiente código, en la sección de datos, estamos declarando una variable letra que reserva un byte de espacio en memoria:
.data   # sección de datos 
   letra: .space 1 
   
.text   # sección de código
.globl main 

main:
   li $t0,'Z'      # cargamos el caracter 'Z' en el registro temporal $t0
   sb $t0,letra    # cargamos el caracter que hemos almacenado en $t0 en el espacio de 1 byte 
                   # reservado para una letra
  
   lb $a0,letra    # cargamos el caracter almacenado en el espacio letra en el registro $a0 
   li $v0,11       # cargamos la llamada al sistema (11) que permite imprimir un caracter
   syscall         # realizamos la llamada al sistema

El código es muy sencillo:

  • Utilizando la instrucción li (load inmediate)  cargamos en el registro temporal $t0 el caracter Z.
  • Utilizando la instrucción sb (store byte) cargamos el caracter que almacenamos en el registro $t0 en el espacio de 1 byte reservado en memoria para almacenar una letra.
  • Utilizando la instrucción lb (load byte) cargamos en el registro $a0 el caracter almacenado en el espacio reservado en memoria para almacenar una letra.
  • Cargamos el código de la llamada al sistema que permite imprimir un caracter.
  • Hacemos la llamada al sistema.
Si pegamos el código anterior en MARS y lo ejecutamos, veremos que se mostrará el caracter Z en pantalla. 
Be the first to comment

Por favor acceder para comentar.