Está en la página 1de 12

4.

1 EL BUFFER DE VIDEO EN MODO TEXTO


LENGUAJES DE INTERFAZ
EL VIDEO DE LA PC

¿Cómo se obtiene el video en una PC?

El video en la PC se obtiene gracias a un adaptador gráfico que genera las señales de video y un monitor que
las presenta en una pantalla. Existen básicamente dos modos generales de video en la PC: el Modo carácter o
texto y el modo gráfico.
LA PANTALLA

La pantalla de la PC en modo texto representa una matriz de caracteres organizados en filas y columnas. El modo de
video de texto más conocido es el de 25 filas por 80 columnas. El primer carácter en la esquina superior izquierda de
la pantalla tiene la posición fila 0, columna 0 (0,0). El carácter en la esquina inferior izquierda tiene la posición (24,0).
El de la esquina superior derecha (0,79) y el de la inferior derecha es la (24, 79).
LA PANTALLA

La pantalla del monitor puede presentar los datos que se escriben en un buffer de video que es un área de memoria
a la que tiene acceso el programador.
Esta área de memoria de video está organizada en páginas, de la cual solo una se muestra a la vez. Esto que permite
escribir varias pantallas de video directamente en memoria y luego intercambiar entre ellas para hacer cambios
rápidos de contenido en la pantalla.
LA PANTALLA

Cada carácter pintado en la pantalla se representa por dos bytes en la memoria. Uno almacena los atributos de
visualización y el otro el código ASCII del carácter. Los atributos pueden ser: Color de frente, color de fondo,
intensidad y parpadeo.
PROCESAMIENTO BÁSICO DE PANTALLA

Las funciones más básicas de procesamiento en pantalla son proporcionadas por algunas funciones de la interrupción
10H de la BIOS: Limpiar la pantalla, posicionar el cursor, pintar un carácter con y sin atributo. Finalmente
estudiaremos como escribir una cadena completa mediante el servicio 09H de la interrupción de servicios del
sistema del DOS, int 21H.
En términos generales, la Int 10H espera que la función a ejecutar se escriba en el registro AH y en AL los
parámetros básicos. Si la cantidad de parámetros crece, emplea los otros registros generales para completarlos. Por
ejemplo, BH y BL sirven regularmente para definir ya sea atributo en modo texto o el número de la página de video a
afectar. CX y DX para coordenadas de la ventana (CH, CL: Fila, Columna de la esquina superior izquierda; DH, DL:
Fila, Columna de la esquina inferior derecha).
BORRAR LA PANTALLA
La función 6H de la int 10H permite definir una ventana rectangular y deslizar su contenido. Esto puede emplearse
para borrar la pantalla.
El siguiente código limpia la pantalla completa:
Mov ah, 06h ;Selecciona función
Mov al, 00h ; Limpiar toda la ventana seleccionada
Mov bh, 07h ; Blanco sobre negro.
Mov cx, 0000h ; Esquina Sup. Izq: (0,0)
Mov dx, 184fh ; Esquina Inf. Der: (24,79)
Int 10H
POSICIONAR EL CURSOR

La función 02h de la Int 10H del BIOS permite posicionar el cursor en la pantalla. Según lo acostumbrado de escribe
en AH la función (Ah 2h). En BH se escribe el número de página (por defecto 0), y en DH, DL, la Fila, Columna de la
posición a establecer para el cursor.
Mov ah, 02h ; Selecciona función
Mov bh, 00h ; Página por defecto.
Mov dh, 05 ; Posiciona el cursor en
Mov dl, 12 ; la posición (5,12)
Int 10H
ESCRIBIR UN CARÁCTER EN LA POSICIÓN ACTUAL DEL CURSOR

La función 09h de la Int 10H del BIOS permite escribir (y repetir) un carácter con un atributo determinado en la
posicionar actual del cursor en la pantalla. La función 0Ah hace lo mismo pero sin considerar atributo (el carácter se
escribe con el atributo actual). Como siempre, en AH se escribe la función (Ah 09h | 0Ah). En Al se pone el
carácter a escribir. En BL se escribe el atributo de video y en CX, la cantidad de veces a escribir el carácter en
pantalla.
Mov ah, 09h ; Selecciona función escribe con atributo
Mov al, ‘A’ ; Escribir una A
Mov bl, 14h ; Atributo de color rojo sobre azul.
Mov cx, 01 ; Solo pintarla 1 vez
Int 10H
Mov ah, 0ah ; Selecciona función escribe sin atributo
Mov al, ‘A’ ; Escribir una A
Mov cx, 01 ; Solo pintarla 1 vez
Int 10H
DESPLIEGUE DE CADENAS EN PANTALLA CON FUNCIÓN DEL DOS

La función 09h de la Int 21H del DOS permite desplegar una cadena completa. Esta cadena debe estar delimitada por
el “guardián” del DOS, el carácter ´$´. Similar a las interrupciones del BIOS, la Int 21H requiere recibir la función en
AH. La dirección de la cadena a desplegar se requiere en DX:
.data

Saludo db “Hola amigos,”, 01H, ‘$’


.code
...
Mov ah, 09h ; Selecciona función de despliegue del DOS
lea dx, Saludo ; Dirección de inicio de la cadena
Int 21H
EJERCICIO

Realiza los ejemplos anteriores en un programa para comprobar su efectividad:


 Limpiar pantalla
 Colocar cursor en la posición indicada
 Escribir un carácter en la posición actual del cursor.
 Escribir una cadena.

También podría gustarte