Interrupciones

Solo disponible en BuenasTareas
  • Páginas : 10 (2473 palabras )
  • Descarga(s) : 0
  • Publicado : 9 de febrero de 2012
Leer documento completo
Vista previa del texto
Metodología de Programación, Programación en C, Aplicaciones electrónicas 1 / 10

INTERRUPCIONES Las interrupciones son un metodo del que disponen los dispositivos e incluso los procesos para hacer notar a la CPU la aparición de alguna circunstancia que requiera su intervención. De este modo, los dispositivos pueden provocar que la CPU deje por el momento la tarea que estaba realizando yatienda la interrupción. Una vez atendida, seguira con su labor anterior. Cuando no existían interrupciones, era el procesador el que tenía que estar continuamente comprobando el estado del dispositivo cuando lo necesitaba. Todo ese tiempo que el procesador estaba sondeando el estado de los dispositivos era tiempo que no se podía dedicar a otros procesos, con lo que significa esto en cuanto arendimiento. Por todo ello se. pensó que lo mejor era que existiera una línea especial entre el procesador y los dispositivos, por la que los dispositivos indicaban al procesador que ya estaban listos. Cuando al procesador le llega una interrupción, la atiende inmediatamente dejando de hacer lo que estuviera haciendo. Para poder atenderla de la forma correcta, debe saber con anterioridad cómo tratarla. Porello, las computadoras tienen en un sitio. conocido de memoria las distintas rutinas de tratamiento para las diferentes interrupciones. El procesador reconoce la interrupción de la que se trata y busca en memoria la rutina correspondiente. Una vez terminado el tratamiento de la interrupción, es muy importante que el procesador siga con lo que estaba haciendo. Por eso es muy importante que antes detratar la interrupción se guarde de alguna forma el estado del computador, y al terminar la rutina de tratamiento se restaure el estado. Se pueden distinguir dos tipos de interrupciones: interrupciones software e interrupciones hardware. Interrupciones software Las interrupciones software son provocadas por los programas usando una función especial del lenguaje. Tienen como objetivo el que la CPUejecute algún tipo de función. Al terminar de ejecutarse esta función, se seguirá ejecutando el programa que provocó la interrupción. Este tipo de interrupciones es la forma mas importante que tendrán los programas de ejecutar funciones especiales del DOS (Disk Operating System) o del BIOS (Basic Input Output System). Estas funciones tienen un número de interrupción software asociada. Cuando unprograma lanza una interrupción de este tipo, la CPU ejecuta su función de tratamiento asociada. Por debemos saber que es lo que hace cada interrupción para conseguir el efecto deseado.

Técnicas de Programación

3ª Parte: Programación de interrupciones y del Ratón

Metodología de Programación, Programación en C, Aplicaciones electrónicas 2 / 10

Las funciones que se ejecutan con cadainterrupción software son un estandar en el mundo PC. En nuestro caso, algunas de las interrupciones que nos van a ser mas utiles seran: • Interrupción 14h: Acceso al puerto serie por la BIOS. • Interrupción 21h: Funciones del DOS. • Interrupción 17h: Servicios de acceso a la impresora de la BIOS.

Cada interrupción tiene asociadas varias funciones. Para usar cada una de las funciones de lainterrupción que nos interese se debe: - Escribir en un registro el numero de interrupción. - Escribir en otro registro en numero de función deseada. - Escribir en otro/s registro/s los parametros asociados con la función. - Lanzar la interrupción.

El lenguaje C nos proporciona una serie de estructuras en la librería dos.h que nos permiten escribir en los registros de la CPU. Estas son: struct WORDREGS{ unsigned int ax; unsigned int bx; unsigned int cx; unsigned int dx; unsigned int si; unsigned int di; unsigned int cflag; unsigned int flags; } struct BYTEREGS { unsigned char al; unsigned char ah; unsigned char bl; unsigned char bh; unsigned char cl; unsigned char ch; unsigned cha.r d1; unsigned cha.r dh;

Técnicas de Programación

3ª Parte: Programación de interrupciones y del Ratón...
tracking img