Int 21h y 10h

Descargar como ppt, pdf o txt
Descargar como ppt, pdf o txt
Está en la página 1de 41

Lenguaje de maquina

Unidad III
Programacin en Lenguaje Ensamblador.
Tema:
Bios: Rutinas de Servicios

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)

02H Fija del cursor

02H Despliega en pantalla

06H Recorre la pantalla

09H Despliega en pantalla


40H Despliega en pantalla

Lenguaje de
maquina

LA PANTALLA

LA PANTALLA ES UNA MALLA DE


POSICIONES DIRECCIONABLES, EN LAS
CUALES SE PUEDE COLOCAR EL CURSOR.
UBICACIN EN PANTALLA

FORMATO DECIMAL
RENGLON

COLUMNA

Esquina superior izquierda

00

00

Esquina superior derecha

00

79

Centro de pantalla

12

39/40

Esquina inferior izquierda

24

00

Esquina inferior derecha

24

79

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.

COLOCACION DEL CURSOR

Lenguaje de
maquina

(EL MODO GRAFICO NO PERMITE EL USO DEL


CURSOR)
SE DEBE CARGAR EL NUMERO DE PAGINA (O
PANTALLA), POR LO COMUN 0 EN EL
REGISTRO BH.
EN EL REGISTRO DX EL RENGLON Y
COLUMNA REQUERIDA.
EJM: MOV BH , 00
MOV DH , 05 ; RENGLON 5
MOV DL , 12 ; COLUMNA 12
MOV AH , 02H ; FUNCION
COLOCACION

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)

PROCESAMIENTO AVANZADO DE LA PANTALLA

Lenguaje de
maquina

FUNCIONES DE INT 10H (BIOS)

FUNCIONES DE INT 10H (BIOS)

00H Establece el modo de video

0BH Establece la paleta de colores

01H Establece el modo de cursor

0CH Escribe el pixel punto

02H Establece la posicin del cursor

0DH Lee el pxel punto

03H Lee la posicin del cursor

0EH Escribe en teletipo

04H Lee la posicin de la pluma ptica 0FH Obtiene el modo actual de video
05H Selecciona la pagina activa

11H Genera carcter

06H Recorre la pantalla hacia arriba

12H Selecciona rutina alterna de


pantalla

07H Recorre la pantalla hacia abajo

13H Despliega cadena de caracteres

08H Lee el atributo o carcter en la


posicin del cursor

1BH Regresa la informacin de


funcionalidad o de estado

09H Despliega el atributo o carcter en


la posicin del cursor

1CH Guarda o restaura el estado de


video

0AH Despliega el carcter en la


posicin del cursor

ADAPTADORES DE VIDEO

Lenguaje de
maquina

MDA

Adaptador de pantalla monocromtica

HGC

Tarjeta de grficos Hrcules

CGA

Adaptador de grficos en colores

EGA

Adaptador de grficos mejorado

MCGA

Adaptador de grficos en multicolores


(PS/2 modelos 25 y 30)

VGA

Matriz de grficos de video

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

DIRECCIONES DE INICIO PARA ADAPTADORES DE VIDEO

Lenguaje de
maquina

A000:[0]

Utilizada para descripcin de fuentes


cuando esta en modo de texto y para
grficos de alta resolucin para EGA,
MCGA, VGA

B000:[0]

Modo de texto monocromtico para


MDA, EGA, VGA

B100:[0]

Para HCG

B800:[0]

Modos de texto para CGA, MCGA,


EGA y VGA y modos grficos para
CGA, EGA, MCGA y VGA.

ESPECIFICACIONES DEL MODO DE VIDEO

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.

Lenguaje de
maquina

MODO DE TEXTO
EL MODO DE TEXTO SE UTILIZA PARA EL
DESPLIEGUE NORMAL EN LA PANTALLA DE
ADAPTADOR RESOLUCION
MODOCARACTERES
TAMAO
ASCIITIPO
00

25 FILAS , MONO , 40
COLUMNAS

MONO

CGA
EGA
MCGA
VGA

320 X 200
320 X 350
320 X 400
360 X 400

01

25 FILAS , COLOR , 40
COLUMNAS

COLOR

CGA
EGA
MCGA
VGA

320 X 200
320 X 350
320 X 400
360 X 400

02

25 FILAS , MONO , 80
COLUMNAS

MONO

CGA
EGA
MCGA
VGA

640 X 200
640 X 350
640 X 400
720 X 400

03

25 FILAS , COLOR , 80
COLUMNAS

COLOR

CGA
EGA
MCGA
VGA

640 X 200
640 X 350
640 X 400
720 X 400

07

25 FILAS , MONO , 80
COLUMNAS

MONO

MDA
EGA
VGA

720 X 350
720 X 350
720 X 400

COLORES

16
16 DE 64
16 DE 262,144
16 DE 262,144

16
16 DE 64
16 DE 262,144
16 DE 262,144

Lenguaje de
maquina

MODO DE TEXTO: Byte de atributo

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
FONDO PANTALLA
MITE
NCIA

INTEN
SIDA
D

CARCTER
DESPLEGADO

BL

LOS BITS RGB: 000 ES NEGRO Y 111 ES BLANCO

MODO DE TEXTO: Despliegue monocromtico

Lenguaje de
maquina

PARA UN MONITOR MONOCROMATICO, EL BIT 0


ESTABLECE EL ATRIBUTO DE SUBRAYADO
COMBINACIONES:
FONDO

FRENTE

CARACTERISTICAS

FONDO

PRIMER PLANO

BL

HEX

NEGRO

NEGRO

NO DESPLIEGA

00H

NEGRO

BLANCO

NORMAL

07H

NEGRO

BLANCO

INTERMITENTE

87H

NEGRO

BLANCO

INTENSO

0FH

BLANCO

NEGRO

VIDEO INVERSO

70H

BLANCO

NEGRO

INVERSO, INTERMITENTE

F0H

SUBRAYADO

01H

Lenguaje de
maquina

MODO DE TEXTO: Despliegue a color


COMBINACIONES:
COLOR

COLOR

NEGRO

GRIS

AZUL

AZUL CLARO

VERDE

VERDE CLARO

CIAN

CIAN CLARO

ROJO

ROJO CLARO

MAGENTA

MAGENTA
CLARO

CAF

AMARILLO

BLANCO

BLANCO
BRILLANTE

Lenguaje de
maquina

PAGINAS DE PANTALLA

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]

SOLO SE PUEDE DESPLEGAR UNA PAGINA A LA


VEZ.

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.

INTERRUPCION 10H DEL BIOS PARA EL MODO TEXTO

Lenguaje de
maquina

LA INTERRUPCION CONSERVA EL
CONTENIDO DE LOS REGISTROS BX, CD, DX,
DI, SI y BP, PERO NO EL AX.

INTERRUPCION 10H DEL BIOS PARA EL MODO TEXTO

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)

INTERRUPCION 10H DEL BIOS PARA EL MODO TEXTO

Lenguaje de
maquina

ESTABLECE POSICION DEL CURSOR : 02h


SE REQUIERE:
AH = 02h
BH = Numero de pagina ( 0,1,2,3)
DH = Rengln
DL = Columna

INTERRUPCION 10H DEL BIOS PARA EL MODO TEXTO

Lenguaje de
maquina

LEE POSICION DEL CURSOR : 03h


SE REQUIERE:
AH = 03h
BH = 0h ; MODO NORMAL
DEVUELVE: AX y BX SIN CAMBIOS
CH = LINEA INICIAL CURSOR
CL = LINEA FINAL CURSOR
DH = RENGLON
DL = COLUMNA

INTERRUPCION 10H DEL BIOS PARA EL MODO TEXTO

Lenguaje de
maquina

SELECCIONAR PAGINA ACTIVA : 05h


SE REQUIERE:
AH = 05h
AL = Numero de pagina ( 0,1,2,3)

INTERRUPCION 10H DEL BIOS PARA EL MODO TEXTO

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

CX = Renglon:Columna Inicial
DX = Renglon:Columna Final

INTERRUPCION 10H DEL BIOS PARA EL MODO TEXTO

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

CX = Renglon:Columna Inicial
DX = Renglon:Columna Final

INTERRUPCION 10H DEL BIOS PARA EL MODO TEXTO

Lenguaje de
maquina

LEER ATRIBUTO O CARACTER : 08h


SE REQUIERE:
AH = 08h
BH = NUMERO DE PAGINA

DEVUELVE:
AL = CARCTER
AH = ATRIBUTO
PARA UN CARCTER NO ASCII, DEVUELVE
00H

Lenguaje de
maquina

INTERRUPCION 10H DEL BIOS PARA EL MODO TEXTO

DESPLEGAR ATRIBUTO O CARACTER : 09h


SE REQUIERE:
AH = 09h
AL = UN CARCTER ASCII
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

INTERRUPCION 10H DEL BIOS PARA EL MODO TEXTO

DESPLEGAR UN CARACTER : 0Ah


SE REQUIERE:
AH = 0Ah
AL = UN CARCTER ASCII
BH = NUMERO DE PAGINA
CX = NUMERO DE VECES QUE LA OPERACIN
DESPLIEGA DE MANERA REPETIDA
EL
CARCTER QUE ESTA EN AL.
ESTA FUNCION UTILIZA EL ATRIBUTO ACTUAL

Lenguaje de
maquina

INTERRUPCION 10H DEL BIOS PARA EL MODO TEXTO

ESCRIBIR EN TELETIPO : 0Eh


SE REQUIERE:
AH = 0Eh
AL = UN CARCTER ASCII
BH = NUMERO DE PAGINA
BL = COLOR DEL PRIMER PLANO (MODO
GRAFICO).

Lenguaje de
maquina

INTERRUPCION 10H DEL BIOS PARA EL MODO TEXTO

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

INTERRUPCION 10H DEL BIOS PARA EL MODO TEXTO

DESPLIEGA UNA CADENA DE CARACTERES :


13h
SE REQUIERE:
AH = 13h
AL = SUBFUNCION
BH = NUMERO DE PAGINA
BL = ATRIBUTO
BP = DIRECCION DE LA CADENA
CX = LONGITUD DE LA CADENA
DX = POSICION RELATIVA INICIO PANTALLA

SUBFUNCION:
00 Despliega el atributo y la cadena; no avanza el
cursor
01 Despliega el atributo y la cadena; avanza el cursor
02 Despliega el carcter y despus el atributo; no
avanza
cursor

Lenguaje de
maquina

MODO GRAFICO
MODO

TIPO

ADAPTADOR

RESOLUCION

COLORES

04

COLOR

CGA,EGA,MCGA,VGA

320 X 200

05

MONO

CGA,EGA,MCGA,VGA

320 X 200

06

MONO

CGA,EGA,MCGA,VGA

640 X 200

0D

COLOR

EGA,VGA

320 X 200

16

0E

COLOR

EGA,VGA

640 X 200

16

0F

MONO

EGA,VGA

640 X 350

10

COLOR

EGA,VGA

640 X 350

16

11

COLOR

MCGA, VGA

640 X 400

2 DE 262,144

12

COLOR

VGA

640 X 400

2 DE 262,14416

13

COLOR

MCGA,VGA

320 X 200

256 DE 262,144

Lenguaje de
maquina

MODO GRAFICO: Pixeles

EL MODO GRAFICO UTILIZA PIXELES PARA GENERAR


PATRONES EN COLOR. CADA BYTE REPRESENTA 4
PIXELES.
FORMATO:
Byte

C1

C0

C1

Pixel

NRO

C0

C1

C1

C0

C0

C1

C0
3

PALETA 0

PALETA 1

FONDO

FONDO

VERDE

CIAN

ROJO

MAGENTA

CAFE

BLANCO

INTERRUPCION 10H DEL BIOS PARA EL MODO GRAFICO

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
COLUMNA O PUNTO EN EL BX

INTERRUPCION 10H DEL BIOS PARA EL MODO GRAFICO

Lenguaje de
maquina

ESTABLECE UNA PALETA DE COLORES : 0Bh


SE REQUIERE:
AH = 0Bh
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)

INTERRUPCION 10H DEL BIOS PARA EL MODO GRAFICO

ESCRIBE UN PIXEL PUNTO : 0Ch


SE REQUIERE:
AH = 0CH
AL = COLOR DEL PIXEL
BH = NUMERO DE PAGINA
CX = COLUMNA
DX = RENGLON

Lenguaje de
maquina

INTERRUPCION 10H DEL BIOS PARA EL MODO GRAFICO

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

DETERMINACION DEL TIPO DE ADAPTADOR DE VIDEO

Lenguaje de
maquina

DETERMINAR SI ESTA INSTALADO VGA: 1Ah


SE REQUIERE:
AH = 1Ah
AL = 0
DEVUELVE:
AL = 1AH SI ES VGA

También podría gustarte