Professional Documents
Culture Documents
Unidad III
Objetivo General
Adquirir una slida comprensin del funcionamiento interno de los microprocesadores. Conocer y emplear eficientemente el entorno de programacin del Lenguaje Ensamblador. Elaborar programas a nivel avanzado que permiten manejar eficientemente los recursos del microprocesador
Objetivo Terminal
Implementar correctamente rutinas para el manejo de dispositivos de almacenamiento.
Objetivo Instruccional
Desarrollar aplicaciones que afecten al Sistema Bsico de Entrada y Salida (BIOS)
SEMANA 14_1
PROCESAMIENTO DE LA PANTALLA
Lenguaje de maquina
LA INSTRUCCION INT, PARA LA MAYORIA DE LOS PROPOSITOS MANEJA ENTRADA Y SALIDA. LOS DOS TIPOS DE INTERRUPCIONES TRATADOS AQUI SON LAS FUNCIONES DE INT 10H DEL BIOS Y LAS FUNCIONES DE INT 21H DEL DOS PARA MOSTRAR SALIDAS EN PANTALLA Y ACEPTAR ENTRADAS DESDE EL TECLADO.
FUNCIONES DE INT 10H (BIOS) FUNCIONES DE INT 21H (DOS)
LA PANTALLA
Lenguaje de maquina
LA PANTALLA ES UNA MALLA DE POSICIONES DIRECCIONABLES, EN LAS CUALES SE PUEDE COLOCAR EL CURSOR.
UBICACIN EN PANTALLA
Esquina superior izquierda Esquina superior derecha Centro de pantalla Esquina inferior izquierda Esquina inferior derecha
FORMATO DECIMAL
RENGLON 00 00 12 24 24 COLUMNA 00 79 39/40 00 79
FORMATO HEXADECIMAL
RENGLON 00H 00H OCH 18H 18H COLUMNA 00H 4FH 27H/28H 00H 4FH
LA PANTALLA
Lenguaje de maquina
EL SISTEMA PROPORCIONA ESPACIO EN LA MEMORIA PARA UN AREA DE DESPLIEGUE DE VIDEO O BUFFER. EL AREA DE DESPLIEGUE MONOCROMATICO INICIA EN LA LOCALIDAD DE BIOS B0000[0]H Y PERMITE UTILIZAR 4K BYTES DE MEMORIA: 2K PARA CARACTERES Y 2K PARA ATRIBUTOS PARA CADA CARCTER, COMO VIDEO INVERSO, INTERMITENCIA, INTENSIDAD Y SUBRAYADO.
Lenguaje de maquina
LIMPIAR LA PANTALLA
Lenguaje de maquina
PARA LIMPIAR TODA LA PANTALLA ESPECIFIQUE EN EL RENGLON:COLUMNA (00:00H) Y EN EL RENGLON COLUMNA FINAL (18:4FH)
CARGAR LOS REGISTROS: AH = FUNCION 06H AL = 00H PARA LA PANTALLA COMPLETA BH = NUMERO DEL ATRIBUTO CX = RENGLON:COLUMNA INICIAL DX = RENGLON:COLUMNA FINAL
EL ATRIBUTO 71H ESTABLECE LA PANTALLA EN FONDO BLANCO (7) CON PRIMER PLANO AZUL (1)
LIMPIAR LA PANTALLA
Lenguaje de maquina
PARA LIMPIAR TODA LA PANTALLA ESPECIFIQUE EN EL RENGLON:COLUMNA (00:00H) Y EN EL RENGLON COLUMNA FINAL (18:4FH)
MOV AX , 0600H MOV BH , 71H MOV CX , 0000H MOV DX , 184FH INT 10H ; AH 06 (RECORRIDO), AL 00 (PANTALLA COMPLETA ) ; ATRIBUTO ; BLANCO (7) SOBREA AZUL (1) ; ESQUINA SUPERIOR IZQUIERDA DEL RENGLON: COLUMNA ; ESQUINA INFERIOR DERECHA DEL RENGLON: COLUMNA ; INTERRUPCION QUE LLAMA AL BIOS
MOV AH, O9H; FUNCION LEA DX , CADENA; CADENA A MOSTRAR INT 21H
LIMPIAR LA PANTALLA
Lenguaje de maquina
PARA LIMPIAR TODA LA PANTALLA ESPECIFIQUE EN EL RENGLON:COLUMNA (00:00H) Y EN EL RENGLON COLUMNA FINAL (18:4FH)
MOV BH , 00 ; ATRIBUTO ; BLANCO (7) SOBREA AZUL (1) MOV BL, REAL; ESQUINA SUPERIOR IZQUIERDA DEL RENGLON: COLUMNA MOV CAD [BX], 20H ; ESQUINA INFERIOR DERECHA DEL RENGLON: COLUMNA INT 10H ; INTERRUPCION QUE LLAMA AL BIOS MOV AH, O9H; FUNCION LEA DX , CADENA; CADENA A MOSTRAR INT 21H
LIMPIAR LA PANTALLA
PARA CAPTURAR PR TECLADO UNA CADENA SE DEBE COLOCAR .DATA UNA ESTRUCTURA DE TIPO BYTE
Lenguaje de maquina
CADENA LABEL BYTE; NOMBRE ESTRUCTURA BYTE MAX DB 10 ;CANTIDAD DE CARACTERES MAXIMO A GUARDAR REAL DB ? ;CANTIDAD DE CARACTERES INGRESADOS SIN CONTAR CAD DB 11 DUP ( $ ); CARACTERES INTRODUCIDOS DEL TECLADO
MOV AH, 0AH ; PETICION DE LA FUNCION DE ENTRADA LEA DX, CADENA; CARGA LA DIRECCION DE LA LISTA DE LOS PARAMETROS INT 21H MOV AH, O2H; FUNCION LEA DL , CARACTER; CARACTER A MOSTRAR INT 21H
Lenguaje de maquina
FUNCIONES DE INT 10H (BIOS) 0BH Establece la paleta de colores 0CH Escribe el pixel punto 0DH Lee el pxel punto
04H Lee la posicin de la pluma ptica 0FH Obtiene el modo actual de video
ADAPTADORES DE VIDEO
Lenguaje de maquina
EGA
MCGA VGA
ADAPTADORES DE VIDEO
Lenguaje de maquina
EL ADAPTADOR DE VIDEO CONSTA DE TRES PARTES: EL CONTROLADOR DE VIDEO. GENERA LAS SEALES DE RASTREO DEL MONITOR PARA EL MODO SELECCIONADO, TEXTO O GRAFICO. EL VIDEO DE BIOS. ACTUA COMO UN INTERFAZ CON EL ADAPTADOR DE VIDEO, CONTIENE RUTINAS COMO PARA ESTABLECER EL CURSOR Y DESPLEGAR CARACTERES. EL AREA DE DESPLIEGUE. CONTIENE LA INFORMACION QUE EL MONITOR VA A MOSTRAR. LAS INTERRUPCIONES QUE MANEJAN EL DESPLIEGUE EN PANTALLA DE FORMA DIRECTA TRANSFIEREN A ESTA AREA SUS DATOS. LAS LOCALIDADES DEL ADAPTADOR DE VIDEO DEPENDEN DE LOS MODOS DE VIDEO QUE SE ESTEN USANDO.
Lenguaje de maquina
A000:[0]
B000:[0] B100:[0]
Utilizada para descripcin de fuentes cuando esta en modo de texto y para grficos de alta resolucin para EGA, MCGA, VGA Modo de texto monocromtico para MDA, EGA, VGA Para HCG
B800:[0]
Modos de texto para CGA, MCGA, EGA y VGA y modos grficos para CGA, EGA, MCGA y VGA.
Lenguaje de maquina
LA FUNCION 00H DE INT 10H DE BIOS, PUEDE DESIGNAR EL MODO PARA EL PROGRAMA QUE SE ESTA EJECUTANDO ACTUALMENTE O PUEDE CONMUTAR ENTRE TEXTO Y GRAFICO.
PARA DESIGNAR UN NUEVO MODO: MOV AH , 00H ; PETICION PARA DESIGNAR EL MODO MOV AL , 03H ; TEXTO O ESTANDAR A COLOR 80 X 25 INT 10H ; LLAMA AL BIOS PARA MONITORES DESCONOCIDOS, PUEDE UTILIZAR INT 10H Y FUNCION 0FH, LA CUAL REGRESA EN AL EL MODO DE VIDEO ACTUAL.
MODO DE TEXTO
Lenguaje de maquina
RESOLUCION
320 X 200 320 X 350 320 X 400 360 X 400 320 X 200 320 X 350 320 X 400 360 X 400 640 X 200 640 X 350 640 X 400 720 X 400 640 X 200 640 X 350 640 X 400 720 X 400 720 X 350 720 X 350 720 X 400
COLORES
01
COLOR
16 16 DE 64 16 DE 262,144 16 DE 262,144
02
MONO
03
COLOR
16 16 DE 64 16 DE 262,144 16 DE 262,144
07
MONO
Lenguaje de maquina
UN BYTE DE ATRIBUTO EN MODO DE TEXTO DETERMINA LAS CARACTERISTICAS DE CADA CARCTER MOSTRADO. CUANDO UN PROGRAMA ESTABLECE UN ATRIBUTO, PERMANECE ACTIVADO; ESTO ES , TODOS LOS CARACTERES SUBSECUENTES DESPLEGADOS TIENEN EL MISMO ATRIBUTO HASTA QUE OTRA OPERACIN LO CAMBIE. FORMATO:
INTER MITE NCIA FONDO PANTALLA INTEN SIDA D CARCTER DESPLEGADO
BL
Lenguaje de maquina
PRIMER PLANO
I 0 0 0 1 0 0 0 R 0 1 1 1 0 0 0 G 0 1 1 1 0 0 0 B 0 1 1 1 0 0 1
HEX
Lenguaje de maquina
I
0 0
R
0 0
G
0 1
COLOR
GRIS AZUL CLARO 1 1
I
0 0
R
0 0
B
0 1
VERDE
CIAN ROJO MAGENTA CAF BLANCO
0
0 0 0 0 0
0
0 1 1 1 1
1
1 0 0 1 1
0
1 0 1 0 1
VERDE CLARO
CIAN CLARO ROJO CLARO MAGENTA CLARO AMARILLO BLANCO BRILLANTE
1
1 1 1 1 1
0
0 1 1 1 1
1
1 0 0 1 1
0
1 0 1 0 1
PAGINAS DE PANTALLA
Lenguaje de maquina
LOS MODOS DE TEXTO LE PERMITEN ALMACENAR DATOS EN MEMORIA DE VIDEO EN PAGINAS. LOS NUMEROS DE PAGINA SON DESDE 0 HASTA 3 PARA EL MODO NORMAL DE 80 COLUMNAS ( Y 0 HASTA 7 PARA LAS DE 40 COLS). EN MODO DE 80 COLS, LAS DIRECCIONES DE INICIO SON:
PAGINA PAGINA PAGINA PAGINA 0 1 2 3 A A A A PARTIR PARTIR PARTIR PARTIR DE DE DE DE B800:[0] B900:[0] BA00:[0] BB00:[0]
PAGINAS DE PANTALLA
Lenguaje de maquina
CADA CARCTER QUE SE MUESTRA EN LA PANTALLA NECESITAN DOS BYTES DE MEMORIA: UN BYTE PARA EL CARCTER Y UN SEGUNDO BYTE PARA SU ATRIBUTO. DE ESTA FORMA UNA PAGINA COMPLETA DE CARACTERES, PARA 80 COLUMNAS Y 25 LINEAS, SE NECESITA 80 X 25 X 2 = 4000 BYTES. LA CANTIDAD DE MEMORIA REALMENTE ASIGNADA A CAA PAGINA ES 4K O 4096 BYTES, ASI QUE DESPUES DE CADA PAGINA LA SIGUEN 96 BYTES NO UTILIZADOS.
Lenguaje de maquina
LA INTERRUPCION CONSERVA EL CONTENIDO DE LOS REGISTROS BX, CD, DX, DI, SI y BP, PERO NO EL AX.
Lenguaje de maquina
MODO DE VIDEO : 00h SE REQUIERE: Cdigo 00h en AH Cdigo de modo en AL ; 03 para color ; 07 para monocromtico
TAMAO DEL CURSOR : 01h SE REQUIERE: CH (Bits 4-0) = Parte superior del cursor CL (Bits 4-0) = Parte inferior del cursor PARA AJUSTAR EL TAMANO DEL CURSOR ENTRE LA PARTE SUPERIOR Y LA INFERIOR: 0:14 (CH:CL)
Lenguaje de maquina
ESTABLECE POSICION DEL CURSOR : 02h SE REQUIERE: AH = 02h BH = Numero de pagina ( 0,1,2,3) DH = Rengln DL = Columna
Lenguaje de maquina
DEVUELVE: AX y BX SIN CAMBIOS CH = LINEA INICIAL CURSOR CL = LINEA FINAL CURSOR DH = RENGLON DL = COLUMNA
Lenguaje de maquina
Lenguaje de maquina
RECORRER HACIA ARRIBA LA PANTALLA : 06h SE REQUIERE: AH = 06h AL = Numero de lneas o cero para toda la pantalla
BH = ATRIBUTO
Lenguaje de maquina
RECORRER HACIA ABAJO LA PANTALLA : 07h SE REQUIERE: AH = 07h AL = Numero de lneas o cero para toda la pantalla
BH = ATRIBUTO
Lenguaje de maquina
Lenguaje de maquina
BH = NUMERO DE PAGINA BL = ATRIBUTO CX = NUMERO DE VECES QUE LA OPERACIN DESPLIEGA DE MANERA REPETIDA EL CARCTER QUE ESTA EN AL.
Lenguaje de maquina
BH = NUMERO DE PAGINA CX = NUMERO DE VECES QUE LA OPERACIN DESPLIEGA DE MANERA REPETIDA EL CARCTER QUE ESTA EN AL.
Lenguaje de maquina
Lenguaje de maquina
OBTENER MODO DE VIDEO : 0Fh SE REQUIERE: AH = 0Fh DEVUELVE: AL = MODO ACTUAL DE VIDEO
AH = CARACTERES POR LINEA BH = NUMERO DE PAGINA ACTUAL
Lenguaje de maquina
SUBFUNCION:
MODO GRAFICO
MODO
04 05 06 0D 0E 0F 10 11 12 13
Lenguaje de maquina
TIPO
COLOR MONO MONO COLOR COLOR MONO COLOR COLOR COLOR COLOR
ADAPTADOR
CGA,EGA,MCGA,VGA CGA,EGA,MCGA,VGA CGA,EGA,MCGA,VGA EGA,VGA EGA,VGA EGA,VGA EGA,VGA MCGA, VGA VGA MCGA,VGA
RESOLUCION
320 X 200 320 X 200 640 X 200 320 X 200 640 X 200 640 X 350 640 X 350 640 X 400 640 X 400 320 X 200
COLORES
4
16 16
Lenguaje de maquina
EL MODO GRAFICO UTILIZA PIXELES PARA GENERAR PATRONES EN COLOR. CADA BYTE REPRESENTA 4 PIXELES. FORMATO:
Byte
C1 0
C0
C1 1
C0
C1 2
C0
C1 3
C0
Pixel
NRO
C1
C0
PALETA 0
PALETA 1
0 1 2 3
0 0 1 1
0 1 0 1
Lenguaje de maquina
LEE POSICION PLUMA OPTICA : 04h SE REQUIERE: AH = 04h DEVUELVE: AH = 0 SI EL ESTADO DE FUNCIONANDO Y 1 SI NO ESTA
DX = RENGLON EN DH Y COLUMNA EN DL CH/BX = POSICION DE PIXEL, CON LINEA (HORIZONTAL) DE LA MALLA EN EL BH Y COLUMNA O PUNTO EN EL BX
Lenguaje de maquina
BH = 00 SELECCIONA EL COLOR DE FONDO, EN DONDE BL CONTIENE EL NUMERO DEL COLOR EN LOS BITS 0-3 (CUALQUIERA 16 COLORES) BH = 01 SELECCIONA LA PALETA PARA GRAFICOS, EN DONDE BL CONTIENE LA PALETA (0 1)
Lenguaje de maquina
ESCRIBE UN PIXEL PUNTO : 0Ch SE REQUIERE: AH = 0CH AL = COLOR DEL PIXEL BH = NUMERO DE PAGINA CX = COLUMNA DX = RENGLON
Lenguaje de maquina
LEE UN PIXEL PUNTO : 0Dh SE REQUIERE: AH = 0Dh BH = NUMERO DE PAGINA CX = COLUMNA DX = RENGLON DEVUELVE: AL = COLOR DEL PIXEL
Lenguaje de maquina
DETERMINAR SI ESTA INSTALADO VGA: 1Ah SE REQUIERE: AH = 1Ah AL = 0 DEVUELVE: AL = 1AH SI ES VGA