Skip to main content

Imprimir caracter

Este es el código de la función imprimir_caracter de DariOS

imprimir_caracter

Explicación de la función imprimir_caracter

La función imprimir_caracter se utiliza para mostrar un solo carácter en pantalla utilizando los servicios del BIOS. Está escrita para arquitectura x86 en modo real (16 bits).


Propósito

Esta función toma el valor almacenado en el registro AL (código ASCII del carácter) y lo imprime en pantalla.


Lógica paso a paso

push ax
  • Guarda el contenido del registro AX en la pila para preservar su valor.
mov ah, 0x0E
  • Carga el número de función 0x0E en AH, que indica a la BIOS que debe mostrar un carácter en modo TTY.
int 0x10
  • Llama a la interrupción 0x10 del BIOS con la función 0x0E. Esta imprime el carácter que se encuentra en AL.
pop ax
  • Restaura el valor original de AX desde la pila, dejando el registro como estaba antes de entrar a la función.
ret
  • Termina la subrutina y devuelve el control al programa que la llamó.

Requisitos

  • El registro AL debe contener el valor ASCII del carácter a mostrar.
  • La interrupción BIOS 0x10 debe estar disponible (modo real).

Uso típico

Esta función es llamada por otras rutinas, como imprimir_cadena, para imprimir texto carácter por carácter:

mov al, 'A'
call imprimir_caracter