¿Cómo se guardan los registros cuando se interrumpe un proceso?

Esto me ha estado molestando todo el día. Cuando un programa se configura para llamar a una función cuando recibe una interrupción determinada, sé que los registros se insertan en la pila cuando se interrumpe el programa, pero lo que no puedo entender es: ¿cómo se salen de los registros? ¿apilar? Sé que el compilador no sabe si la función es un controlador de interrupciones, y no puede saber cuántos argumentos dio la interrupción a la función. Entonces, ¿cómo demonios saca los registros?

Respuestas a la pregunta(1)

Su respuesta a la pregunta