Concepto de interrupciones.
Una interrupción es una situación especial que suspende la ejecución de un programa de modo que el sistema pueda realizar una acción para tratarla. Tal situación se da, por ejemplo, cuando un periférico requiere la atención del procesador para realizar una operación de E/S.
Las
interrupciones constituyen quizá el mecanismo más importante para la
conexión del microcontrolador con el mundo exterior, sincronizando la
ejecución de programas con acontecimientos externos.
Pasos para el procesamiento.
1. Terminar la ejecución de la instrucción máquina en curso.
2. Salva
el valor de contador de programa, IP, en la pila, de manera que en la
CPU, al terminar el proceso, pueda seguir ejecutando el programa a
partir de la última instrucción.
3.
La CPU salta a la dirección donde está almacenada la rutina de servicio
de interrupción (ISR, Interrupt Service Routine) y ejecuta esa rutina
que tiene como objetivo atender al dispositivo que generó la
interrupción.
4.
Una vez que la rutina de la interrupción termina, el procesador
restaura el estado que había guardado en la pila en el paso 2 y retorna
al programa que se estaba usando anteriormente.
Ejemplos de interrupciones:
int 01h-->un solo paso
int 02h-->interrupcion no enmascarable
int 03h--> punto de interrupcion
int 04h-->desbordamiento
int 05h-->impresion de pantalla
int 08h-->Cronometro
int 15h-->Servicios del sistema
int 16h-->Funciones de entrada del teclado
int 18h-->Entrada con el Basic de Rom
int 19h-->Cargador ed arranque
int 1Ah-->Leer y establecer la hora
int 1Bh-->Obtener el control con una interrupcion de teclado.
int 2oh-->Terminar un programa
int 02h-->interrupcion no enmascarable
int 03h--> punto de interrupcion
int 04h-->desbordamiento
int 05h-->impresion de pantalla
int 08h-->Cronometro
int 15h-->Servicios del sistema
int 16h-->Funciones de entrada del teclado
int 18h-->Entrada con el Basic de Rom
int 19h-->Cargador ed arranque
int 1Ah-->Leer y establecer la hora
int 1Bh-->Obtener el control con una interrupcion de teclado.
int 2oh-->Terminar un programa
int 33h->Funciones del Raton