ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Interrupciones-assembler


Enviado por   •  2 de Junio de 2012  •  1.919 Palabras (8 Páginas)  •  543 Visitas

Página 1 de 8

INTERRUPCIONES

Interrupción 21H

Propósito: Llamar a diversas funciones del DOS

Esta interrupción tiene varias funciones, para accesar a cada una de ellas es necesario que el registro AH se encuentre el número de función que se requiera al momento de llamar a la interrupción.

Funciones para desplegar información al video.

02H Exhibe salida09H Impresión de cadena (video) 40H Escritura en dispositivo/Archivo

Funciones para leer información del teclado.

01H Entrada desde teclado0AH Entrada desde teclado usando buffer 3FH Lectura desde dispositivo/archivo

Funciones para trabajar con archivos.

En esta sección únicamente se expone la tarea específica de cada función, para una referencia acerca de los conceptos empleados refiérase a la unidad 7, titulada: "Introducción al manejo de archivos".

Método FCB

0FH Abrir archivo14H Lectura secuencial15H Escritura secuencial16H Crear archivo21H Lectura aleatoria22H Escritura aleatoria

Handles

3CH Crear archivo3DH Abrir archivo3EH Cierra manejador de archivo3FH Lectura desde archivo/dispositivo40H Escritura en archivo/dispositivo42H Mover apuntador de lectura/escritura en archivo

Función 02H

Uso: despliega un carácter a la pantalla.

Registros de llamada: AH = 02HDL = Valor del carácter a desplegar

Registros del Retorno: ninguno.

Esta función nos despliega el carácter cuyo código hexagesimal corresponde al valor almacenado en el registro DL, no se modifica ningún registro al utilizar este comando. Es recomendado el uso de la función 40H de la misma interrupción en lugar de esta función.

Función 09H

Uso: Despliega una cadena de caracteres en la pantalla.

Registros de llamada: AH: 09H

DS: DX = dirección de inicio de una cadena de caracteres.

Ninguno.

Esta función despliega los caracteres, uno a uno, desde la dirección indicada en el registro DS: DX hasta encontrar un carácter$, que es interpretado como el final de la cadena.

Se recomienda utilizar la función 40H en lugar de esta función.

Función 40H

Uso: escribir a un dispositivo o a un archivo.

Registros de llamada:

AH = 40HBX = Vía de comunicación

CX = Cantidad de bytes a escribir

DS: DX = Dirección del inicio de los datos a escribir

Registros de Retorno:

CF = 0 si no hubo error

AX = Número de bytes escritos

CF = 1 si hubo error

AX = Código de error

El uso de esta función para desplegar información en pantalla se realiza dándole al registro BX el valor de 1 que es el valor pre-asignado al video por el sistema operativo MX-DOS.

Función 01H:

Uso: Leer un carácter del teclado y desplegarlo.

Registros de llamada:

AH=01H

Registros de Retorno:

AL = carácter leído

Con esta función es muy sencillo leer un carácter del teclado, el código hexadecimal del carácter leído se guarda en el registro AL. En caso de que sea un carácter extendido el registro AL contendrá el valor de 0 y será necesario llamar de nuevo a la función para obtener el código de este carácter.

Función 0AH

Uso: leer caracteres del teclado y almacenarlos en buffer

Registros de llamada:

AH = 0AH

DS: DX = Dirección del área de almacenamiento

BYTE 0 = Cantidad de bytes en el área

BYTE 1 = Cantidad de bytes leídos

desde BYTE 2 hasta BYTE 0 + 2 = caracteres leídos

Registros de Retorno: Ninguno

Los caracteres son leídos y almacenados en un espacio predefinido de memoria. La estructura de este espacio le indica que en el primer byte del mismo se indican cuantos caracteres serán leídos. En el segundo byte se almacena el número de caracteres que ya se leyeron, y del tercer byte en adelante se escriben los caracteres leídos.

Cuando se han almacenado todos los caracteres indicados menos uno la bocina suena y cualquier carácter adicional es ignorado. Para terminar la captura de la cadena es necesario darle [ENTER].

Función 3FH

Uso: Leer información de un dispositivo o archivo.

Registros de llamada:

AH = 3FH

BX = Número asignado al dispositivo

CX = Número de bytes a procesar

DS: DX = Dirección del área de almacenamiento

Registros de retorno:

CF = 0 si no hay error y AX = número de bytes leídos.

CF = 1 si hay error y AX contendrá el código del error.

Función 0FH:

Uso: abrir archivo FCB

Registros de llamada:

AH = 0FH

DS:DX = Apuntador a un FCB

Registros de retorno:

AL = 00H si no hubo problema, de lo contrario regresa 0FFH

Función 14H:

Uso:

Leer secuencialmente un archivo FCB.

Registros de llamada:

AH = 14H

DS:DX = Apuntador a un FCB ya abierto.

Registros de retorno:

AL = 0 si no hubo errores, de lo contrario se regresara el código correspondiente de error: 1 error al final del archivo, 2 error en la estructura del FCB y 3 error de la lectura parcial.

Esta función lo que hace es que lee el siguiente bloque de información a partir de la dirección dada por DS: DX, y actualiza este registro.

Función 15H:

Escribir secuencialmente a un archivo FCB

Registros de llamada:

AH = 15H

DS:DX = Apuntador a un FCB ya abierto

Registros de retorno:

AL = 00H si no hubo errores, de lo contrario contendrá el código del error: 1disco lleno o archivo de solo lectura, 2 error en la formación o especificación del FCB. La función 15H después de escribir el registro al bloque actual actualiza el FCB

Función 16H:

Uso: crear un archivo FCB

Registros de llamada:

AH = 16H

DS: DX = apuntador a un FCB ya abierto.

Registros de Retorno:

AL = 00H si no hubo errores, de lo contrario contendrá el valor 0FFH

Se basa en la información proveida en un FCB para crear un archivo en el disco.

Función 21H:

Leer de forma aleatoria un archivo FCB

Registros de llamada:

AH = 21H

DS: DX = Apuntador a un FCB ya abierto.

Registros de retorno:

A = 00H si no hubo error, de lo contrario AH contendrá el código del error: 1

Si es fin de archivo, 2 si existe error de especificación de FCB y 3 si se leyó un registro parcial o el apuntador del archivo se encuentra al final del mismo. Esta función lee el registro especificado por los campos

...

Descargar como (para miembros actualizados) txt (12 Kb)
Leer 7 páginas más »
Disponible sólo en Clubensayos.com