Hablando de Interrupciones


Interrupción enmascarable significa que, bajo control del software, el procesador puede aceptar o ignorar (enmascarar) la señal de interrupción.

Para ello se envía una señal a la patilla INTR y el procesador la atiende o la ignora en función del contenido de un bit (IF) en un registro (FLAGS) que puede estar habilitado o deshabilitado. En el primer caso, cuando se recibe la señal, el procesador concluye la instrucción que estuviese en proceso y a continuación responde con una combinación de señales en algunas de sus patillas componiendo una sucesión de dos señales INTA.

La primera señal es simplemente un aviso; la segunda es una petición para que el PIC coloque en el bus de datos un Byte con el número de interrupción, de forma que el procesador pueda localizar el servicio solicitado.


Interrupción no enmascarable significa que la interrupción no puede ser deshabilitada por software. Este tipo de interrupciones ocurren cuando se recibe una señal en la patilla NMI del procesador. Se reservan para casos en que es crítica la respuesta, por ejemplo que se detecte un error de paridad en la memoria. Además son de prioridad más alta que las enmascarables.

Nota: La única forma de enmascarar estas interrupciones es a través de circuitos externos al procesador, por ejemplo a nivel del PIC.

Cuando el procesador recibe una de estas instrucciones no se genera ningún ciclo de reconocimiento de la instrucción (INTA), y el procesador le asigna un 2 como número de excepción.

Referencia:

http://zator.com/Hardware/H2_4.htm


INT 21H

La mayoría de servicios ó funciones del sistema operativo MS-DOS se obtienen a través de la interrupción software 21H. Es por esto que se le denomina DOS-API: DOS-APPLICATION-PROGRAM-INTERFACE La INT 21H está compuesta por un grupo de funciones. Cuando se accede a la INT 21H, hay que indicar el número de función que queremos ejecutar. La llamada a la INT 21H se realizará como sigue:

  • Introducimos en (AH) el número de función a la que deseamos acceder.
  • En caso de que deseemos acceder a una sub-función dentro de una función, debemos indicarlo introduciendo en (AL) el número de esa sub-función.
  • Llamar a la INT 21H.


Referencia:

http://ict.udlap.mx/people/oleg/docencia/ASSEMBLER/asm_interrup_21.html



PRINCIPALES FUNCIONES

OPCIONES DE INT 21H (LLAMADAS A FUNCIONES DE DOS)

AH

Propósito

Tipo

Descripción.

0

Terminación del programa

Control

Termina la ejecución de un programa.

1

Entrada desde el teclado

Teclado

Espera entrada proveniente del teclado, la exhibe y

la coloca en el registro AL.

2

Exhibe salida

Display

Exhibe el carácter en DL.

3

Entrada auxiliar

Diversos

Espera un carácter proveniente del puerto COM y

lo coloca en AL.

4

Salida auxiliar

Diversos

Envía puerto COM al carácter en DL

5

Salida a impresora

Impresora

Envía a la impresora el carácter en DL.

6

I/O directo de consola

Teclado

Espera hasta recibir un carácter proveniente del teclado (no verifica ctrl.-Break).

7

Entrada de consola directa

con eco desactivado

Teclado

Espera hasta recibir un carácter desde del teclado y

lo coloca en AL.

8

Entrada desde la consola

Teclado

Espera hasta recibir un carácter desde el teclado,

entrega en Al y se ejecuta una interrupción Ctrl.-

Break.

9

Impresión en cadena

Display

Presenta una cadena de caracteres en la pantalla.

La cadena debe finalizar en $, apuntando DS:DX.

A

Entrada desde el teclado a

través del buffer

Teclado

Lee los caracteres que provienen del teclado en un

buffer. DS:DX apunta al buffer. El primer byte es

el numero máximo de caracteres mientras que el

segundo byte indica el numero de caracteres leídos.

B

Verifica el estado de entrada normal

Teclado

Verifica si existe un carácter disponible

proveniente del teclado. (AL=0 NO ,AL=0FFH SI)

D

Restablece el disco

Disco

Se pierden todos los archivos que no han sido

cerrados.

E

Selección del disco

Disco

Selecciona la unidad del disco en DL (0 =A, 1 = B, etc.

F

Abre archivo

Archivo

Busca el directorio para apuntar el archivo que entra en

DS:DX. AL = FFH (no se encuentra) o AL = 00H

(encontrado). Si se encuentra se llena FCB.

10

Cierra archivo

Archivo

Cierra el archivo después de una operación de

escritura. DS:DX apunta a FCB.

11

Búsqueda para la primera

Disco

Busca en el directorio la primera ocurrencia en que

igual el nombre del archivo. Si no se encuentra AL

= FFH.

12

Búsqueda para la siguiente

entrada

Disco

Después de haber encontrado el nombre del

archivo, esta llamada continuara la búsqueda para

la siguiente ocurrencia.

13

Borrar archivo

Archivo

Borra del directorio todas las entradas que señala el

apuntador DS:DX.


Referencia:

http://docs.google.com/gview?a=v&q=cache:-NOJi3cdFzIJ:www.esimez.ipn.mx/computacionv/Hojas/INT%252021H%2520Y%252010%2520H.pdf+interrupcion+21h&hl=es&gl=mx&pid=bl&srcid=ADGEEShos164LNdNix23fFRcqBSLMuuTEtX54cmMAxn6lNZ8_tuvdnRlcEmQ6M0Zv7TBd_9rKLZ_QiCgP6-3OLW5s1iw_-YmGXT4ZdJfszRIeKdvG-K4K1Xx2AOyuBnjKlHxgvckM7Lb&sig=AFQjCNFW2G3PDP7IXn6mPPBa_OilHLGRPw


EJEMPLOS

INT 21H Función 01H

Entrada de Carácter con Eco (ó salida)

LLAMADA:

AH = 01H

DEVUELVE:

AL = Código ASCII del Carácter leído y Echo a pantalla

(si AH =08H) es servicio sin Echo)


Efecto: Se lee un carácter del dispositivo de entrada estándar, y se envía al dispositivo estándar de salida. Si al llamar a la función no había ningún carácter disponible, se esperará a que lo haya. Normalmente el dispositivo estándar de entrada es el teclado, y el dispositivo estándar de salida es la pantalla.



INT 21H Función 02H

Salida de Carácter

LLAMADA:

AH = 02H

DL = Código ASCII a enviar al dispositivo de salida.

DEVUELVE:

NADA.


Efecto: Se envía el carácter depositado en el registro DL al dispositivo estándar de salida. La salida puede ser redireccionada hacia un fichero, impresora, etc.


En el link de abajo podran encontrar mas ejemplos.


Referencia:

http://ict.udlap.mx/people/oleg/docencia/ASSEMBLER/asm_interrup_21.html

Read Users' Comments (0)

0 Response to "Hablando de Interrupciones"

Publicar un comentario