Imprimir caracter
Este es el código de la función imprimir_caracter de DariOS
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
AXen la pila para preservar su valor.
mov ah, 0x0E
- Carga el número de función
0x0EenAH, que indica a la BIOS que debe mostrar un carácter en modo TTY.
int 0x10
- Llama a la interrupción
0x10del BIOS con la función0x0E. Esta imprime el carácter que se encuentra enAL.
pop ax
- Restaura el valor original de
AXdesde 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
ALdebe contener el valor ASCII del carácter a mostrar. - La interrupción BIOS
0x10debe 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