siempre debe borrar la interrupción pendiente que hace que se ejecute la rutina de servicio de interrupción, en la rutina de servicio de interrupción. Lo ideal es comenzar con el periférico que causó la interrupción y despejar hacia la CPU si hay varios lugares donde está enclavado.
no siempre es posible, pero es una buena idea comprender la generación y la eliminación de la interrupción utilizando primero el sondeo porque es mucho más fácil, luego, una vez que se comprende todo, haga la última habilitación para permitir que la CPU vea la interrupción y llame a un manejador , aún se requiere depuración para eso, pero hay menos cosas que lo descarrilen en ese momento.
si dejar o no la interrupción activada y la devolución provoca otra interrupción inmediata o una instrucción posterior depende del diseño del sistema, pero puede suceder y sucede en algunos diseños. Del mismo modo, si hay una excepción adicional que sucedió mientras la lógica cambiaba a la interrupción o si estaba entregando la interrupción, es posible que no lo vuelva a interrumpir, antes de salir del controlador de interrupciones, debe sondear el periférico y manejar cualquier otro evento. repita hasta que no haya más eventos y salga del controlador (para los eventos que comparten una línea de interrupción en la CPU).
para un temporizador que es quizás lo que estás preguntando. borre la interrupción en el temporizador y otros cierres hacia la CPU. Si el temporizador requiere otra acción para reiniciar otro período de tiempo, este también sería el momento para hacerlo. si continúa automáticamente en el siguiente período de tiempo y solo necesita borrar la interrupción para obtener otra, entonces haga esto aquí en el controlador.