1. El documento introduce las interrupciones INT 10H del BIOS y INT 21H del DOS para manejar la entrada y salida de datos desde el teclado y hacia la pantalla. 2. Describe cómo usar las funciones de la INT 10H para controlar la posición del cursor y limpiar la pantalla. 3. Explica que la función 09H del DOS se usa para mostrar salidas en pantalla y la función 0AH para aceptar entradas desde el teclado.
2. INTRODUCCION
La mayoría de los programas necesitan entradas desde un
teclado, disco, ratón o módem y proporcionan salidas en un
formato útil en la pantalla, impresora o disco. Existen varios
requisitos para especificar un dispositivo de entrada o salida.
La instrucción INT (interrupción), para la mayoría de los
propósito utiliza entrada y salida. Los dos tipos de interrupciones
tratados son las funciones de INT 10H del BIOS para manejar la
pantalla y las funciones INT 21H del DOS para mostrar salidas
en pantalla y aceptar entradas desde el teclado. Estas funciones
(o servicios) solicitan una acción para identificar el tipo de
operación que la interrupción va a realizar, inserte un numero de
funciones del registro AH.
3. INTRODUCCION
Las operaciones de bajo nivel del BIOS, como INT
10H transfieren el control de manera directa al BIOS.
Sin embargo para facilitar algunas de las
operaciones mas complejas, la INT 21H del DOS
proporciona un servicio de interrupción que transfiere
primero el control al DOS.
Las operaciones introducidas son:
4. PANTALLA
Es una malla de posiciones direccionables, en
cualquiera de las cuales se puede colocar el cursor,
ejemplo un monitor común de vídeo tiene 25
renglones (numerados del 0 hasta el 24) y 80
columnas (numeradas de 0 hasta 79).
6. PANTALLA
Las interrupciones que manejan los despliegues en
pantalla trasfieren sus datos de manera directa al área de
despliegue de video, dependiendo del tipo de adaptador de
video instalado como EGA o VGA. Aunque técnicamente
sus programas pueden transferir datos en forma directa al
área de despliegue de video, no existe seguridad que las
direcciones de memoria serán las mismas en todos los
modelos, de modo que la escritura directa en el área de
despliegue, si bien rápida puede ser riesgosa. La practica
recomendada es utilizar las instrucciones de interrupción
adecuadas: las funciones de la INT 10H para despliegue,
ubicar el cursor en cualquier posición y limpiar la pantalla y
7. COLOCACION DEL CURSOR
(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.
MOV AH , 02H ; FUNCION
MOV BH , 00
; PAG ACTUAL
MOV DH , 05
; RENGLON 5
MOV DL , 12
; COLUMNA 12
INT 10H
; INTERRUPCION QUE LLAMA AL BIOS
8. LIMPIAR PANTALLA
La función 06H de la INT 10H de la 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 numero mayor. Por Ejemplo, para
limpiar
toda
la
pantalla
especifique
el
renglon:columna iniciales como 00:00H y el
renglon:columna finales como 18:4FH. Cargue esos
registros:
9. LIMPIAR PANTALLA
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)
10. LIMPIAR PANTALLA
MOV AX , 0600H ;
MOV BH , 71H
AH 06 (RECORRIDO), AL 00 (PANTALLA COMPLETA )
; ATRIBUTO ; BLANCO (7) SOBREA AZUL (1)
MOV CX , 0000H ;
ESQUINA SUPERIOR IZQUIERDA DEL RENGLON: COLUMNA
MOV DX , 184FH ;
ESQUINA INFERIOR DERECHA DEL RENGLON: COLUMNA
INT 10H
; INTERRUPCION QUE LLAMA AL BIOS
13. FUNCIÓN OAH DEL DOS PARA
ENTRADA DEL TECLADO
SIRVE PARA CAPTURAR UNA CADENA
QUE ENTRA POR TECLADO.
USA LA INTERRUPCIÓN 21H, LA CUAL
DEBE CONOCER LA LONGITUD MÁXIMA
DE LOS DATOS DE ENTRADA.
14. FUNCIÓN OAH DEL DOS PARA
ENTRADA DEL TECLADO
Se debe colocar en el .Data una directiva
label con el tipo de atributo byte.
La estructura byte el mínimo es cero y el
máximo es 255 o FFH.
15. FUNCIÓN OAH DEL DOS PARA
ENTRADA DEL TECLADO
Para una entrada se establece la función
OAH(captura de cadena) en el AH(recorre la
pantalla,06H), se carga la dirección de la lista
de parámetros (el NAMEPAR), en el DX y emita
INT 21H
16. EJEMPLO
1. INT valida que no exceda el máximo de
caracteres dado en MAXLEN DB 20
2. El presionar Enter cuenta en la operación
aunque para el usuario signifique
terminar.
3. Si se excede el máximo de caracteres
suena la bocina. (Si se ha cambiado el
enter por la bocina)
17. RESPUESTA CON SOLO LA TECLA ENTER
La tecla Enter es importante ya que significa
una respuesta a una petición.
La función 09H del DOS la acepta e inserta
una longitud de 00H en la lista de
parámetros:
Si la longitud es cero, el programa determina
que la entrada ha finalizado.
18. COMO BORRAR EL CARÁCTER ENTER
Para eliminar el carácter Enter (ODH) coloca
un espacio en blanco (20H) siempre que
aparezca en la localidad de memoria
NAMEFLD.
La localidad de memoria NAMELEN contiene
la longitud real de los datos de entrada.
19. COMO LIMPIAR EL ÁREA DE ENTRADA
Para borrar el NAMEFLD si desea
DI
BX
21. MANEJADORES DE ARCHIVOS PARA
DESPLIEGUE DE PANTALLA
La función 40H de la INT 21H del DOS utiliza
los manejadores de archivo para solicitar operaciones de
despliegue
UNA OPERACIÓN INT EXITOSA
Regresa al AX el numero de bytes escritos.
Pone en cero la bandera de acarreo.
UNA OPERACIÓN INT FALLIDA
Regresa al AX un código de error.
AX:05H = Acceso denegado
AX:06H = Manejador no válido
Pone en uno la bandera de acarreo.
27. MANEJADORES DE ARCHIVOS PARA
ENTRADA DESDE EL TECLADO
La función 3FH de la INT 21H del DOS utiliza los
manejadores de archivo para solicitar entrada del
teclado
UNA OPERACIÓN INT EXITOSA
Regresa al AX el numero de caracteres introducidos
Pone en cero la bandera de acarreo.
UNA OPERACIÓN INT FALLIDA
Regresa al AX un código de error.
AX:05H = Acceso denegado
AX:06H = Manejador no válido
Pone en uno la bandera de acarreo.