operadores de video

Post on 06-Feb-2016

226 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Operados de video en lenguaje ensamblador

TRANSCRIPT

OPERADORES DE VIDEOINTEGRANTES:

RAMÍREZ MORA FERNANDO

REYES GERMÁN JOSÉ DAVID

BRIAN GENARO BAUTISTA ARCIGA

PRINCIPALES FUNCIONES DE LA PANTALLA

FUNCIONES DE LA INT 10H DEL BIOS

02H Fijar el cursor.

06H Recorre la pantalla.

FUNCIONES DE LA INT 21H DEL DOS

02H Despliega en pantalla.

09H Despliegue en pantalla.

OAH Entrada desde el teclado.

3FH Entrada desde el teclado.

40H Despliega en pantalla.

PANTALLA

• La pantalla es una malla de posiciones direccionales, en cualquiera de las cuales se puede colocar el cursor.

• un monitor común de video tiene 25 renglones (numerados del 0 hasta el 24) y 80 columnas (numeradas desde 0 hasta 79).

COLOCACIÓN DEL CURSOR

• La colocación del cursor es un requisito común en modo de texto, ya que su posición determina en dónde será desplegado el siguiente carácter. (El modo gráfico no permite el uso del cursor.

• La INT 10H es la operación del BIOS para manejo de la pantalla, y la función 02H en el AH indica la operación que coloca al cursor.

LIMPIAR LA PANTALLA

• La función 06H de la INT 10H del BIOS maneja el borrado o recorrido de la pantalla.

• Puede limpiar todo o parte de un despliegue iniciando en cualquier localidad de la pantalla y terminando en cualquier localidad con número mayor.

REGISTROS PARA LIMPIAR PANTALLA

• AH = función 06H

• AL = OOH para la pantalla completa

• BH = número del atributo

• CX = renglón: columna iniciales

• DX = renglónxolumna finales

FUNCIÓN 09H DEL DOS PARA DESPLIEGUE EN PANTALLA

• La cadena es seguida inmediatamente por un delimitador de signo de pesos ($, o 24H), el cual utiliza la operación para finalizar el despliegue.

Ejemplo:

NAMPMOV AH, 09H ,-Petición para desplegar

• MOV AH, 09H ,-Petición para desplegar

• LEA DX,NAMPRMP ;Carga la dirección de la indicación

• INT 21H ;Llama al DOS

SÍMBOLO “$” (DELIMITADOR)

• Una cadena desplegada que excede la columna de la extrema derecha de la pantalla continúa de forma automática en el siguiente renglón, recorriendo la pantalla tanto como sea necesario.

• Si al final de la cadena se omite el signo de pesos, la operación despliega caracteres de la memoria hasta que encuentre un signo así, si existe alguno.

PROCESAMIENTO AVANZADO DE LA PANTALLA

• 00H Establece el modo de video

• 01H Establece el tamaño del cursor

• 02H Establece la posición del cursor

• 03H Lee la posición del cursor

• 04H Lee la posición de la pluma óptica

• 05H Selecciona la página activa

• 06H Recorre la pantalla hacia arriba

• 07H Recorre la pantalla hacia abajo

• 08H Lee el atributo o carácter en la posición del cursor

• 09H Despliega el atributo o carácter en la posición del cursor

• OAH Despliega el carácter en la posición del cursor

• OBH Establece la paleta de colores OCH Escribe el pixel punto ODH Lee el pixel punto

• OEH Escribe en teletipo

• OFH Obtiene el modo actual de video

• 11H Genera carácter

• 12H Selecciona rutina alterna de pantalla

• 13H Despliega cadena de caracteres

• 1BH Regresa la información de funcionalidad o de estado

• 1CH Guarda o restaura el estado de video

PRINCIPALES MODOS DE SALIDA DE VIDEO

• MDA Adaptador de pantalla monocromática

• HGC Tarjeta de gráficos Hércules

• CGA Adaptador de gráficos en colores

• EGA Adaptador de gráficos mejorado

• MCGA Adaptador de gráficos en multicolores (PS/2 modelos 25 y 30) VGA Matriz de gráficos de video

VGA

• Reemplaza a los adaptadores de video CGA y EGA.

• . El adaptador de video consta de tres unidades básicas: el controlador de video, el video de BIOS y el área de despliegue de video.

ESPECIFICACIÓN DEL MODO DE VIDEO

• La función 00H, de la INT 10H de BIOS, puede designar el modo para el programa que se está ejecutando actualmente o puede conmutar entre texto y gráfico.

• El modo de texto se utiliza para el despliegue normal en la pantalla de caracteres ASCII.

DESPLIEGUE A COLOR

DESPLIEGUE A COLOR (2)

INTERRUPCIÓN 10H DEL BIOS PARA EL MODO DE TEXTO

• INT 10H, función 00H: Establece modo de video

• INT 10H, función 01H: Establece el tamaño del cursor

• INT 10H, función 02H: Establece la posición del cursor

• INT 10H, función 03H: Lee la posición del cursor

• INT 10H, función 05H: Selección de la página activa

• INT 10H, función 07H: Recorrer hacia abajo la pantalla

• INT 10H, función 08H: Leer atributo o carácter en la posición del cursor

• INT 10H, función 09H: Desplegar atributo o carácter en la posición del cursor

DESPLIEGUE DIRECTO EN VIDEO

• Para algunas aplicaciones puede ser muy lento el despliegue en video cuando es enviado a través del DOS y del BIOS. La manera más rápida de desplegar caracteres en pantalla (texto o gráficos) es transferirlos directamente al área de despliegue de video apropiada.

MODO GRÁFICO - PIXELS

COLORES - PIXELES

USO PRÁCTICO DE LOS MODOS DE VIDEO EN ENSAMBLADOR

EJEMPLO – PALETA DE COLORES.MODEL SMALL

.STACK 128

.DATA

.CODE

.STARTUP

MAIN PROC

mov ax,0013h

INT 10H

MOV AX, 0A000H

MOV DS, AX ; DS = A000H (MEMORIA DE GRAFICOS).

MOV CX,0FA00H ; TODOS LOS PIXELES DE LA PANTALLA

XOR DX,DX ; COLOR PARA CADA FRANJA

XOR BX,BX ; CONTADOR DE PIXELES POR FRANJA

XOR DI,DI

CICLO_1:

MOV [DI], DX ; PONER COLOR EN A000:DI

INC DI

INC BX

CMP BX,6400

JNE SIG_PIX1

; NUEVA FRANJA

XOR BX,BX ; RESETEAR CONTADOR DE PIXELES POR FRANJA

INC DX ; CAMBIAR COLOR

SIG_PIX1:

LOOP CICLO_1

; ESPERAR POR TECLA

MOV AH,10H

INT 16H

MOV DX,3C8H ; EMPEZAMOS A MODIFICAR LA PALETA DE COLORES

MOV AL,0 ; DESDE LA ENTRADA 0

OUT DX,AL

INC DX ; DX = 3C9H.

MOV CX,10

CICLO_2: ; MODIFICAR 10 ENTRADAS DE LA PALETA

MOV AL,0 ; ROJO.

OUT DX,AL

MOV AL,0 ; VERDE

OUT DX,AL

MOV AL,6 ; AZUL

MUL CL

OUT DX,AL

LOOP CICLO_2

; ESPERAR POR TECLA

MOV AH,10H

INT 16H

MOV DX,3C8H ; EMPEZAMOS A MODIFICAR LA PALETA DE COLORES

MOV AL,0 ; DESDE LA ENTRADA 0

OUT DX,AL

INC DX ; DX = 3C9H.

MOV CX,10

CICLO_3: ; MODIFICAR 10 ENTRADAS DE LA PALETA

MOV AL,0 ; ROJO.

OUT DX,AL

MOV AL,6 ; VERDE

MUL CL

OUT DX,AL

MOV AL,0 ; AZUL

OUT DX,AL

LOOP CICLO_3

; ESPERAR POR TECLA

MOV AH,10H

INT 16H

; REGRESAR A MODO TEXTO

MOV AX,0003H

INT 10H

; FINALIZAR EL PROGRAMA

MOV AX,4C00H

INT 21H

RET

MAIN ENDP

END

top related