Assembly Language
Interrupciones
Buscar..
Observaciones
¿Por qué necesitamos interrupciones?
Imaginemos: nuestra computadora está conectada a un teclado. Queremos entrar en algo. Cuando presionamos la tecla, no pasa nada porque la computadora está lidiando con cosas diferentes y no se da cuenta de que queremos algo de él. Necesitamos interrupciones!
Las interrupciones son activadas por el software ( INT 80h) o el hardware (pulsación de tecla), se comportan como una llamada (saltan a una ubicación específica, ejecutan el código y vuelven a saltar).
Trabajando con interrupciones en la Z80:
El Z80 no tiene mesa de interrupción como procesadores modernos. Las Interrupciones todas ejecutan el mismo código. En el modo de interrupción 1, ejecutan el código en una ubicación inmutable específica. En el modo de interrupción 2, ejecutan el código del registro de puntero al que apunto. El Z80 tiene un temporizador que dispara la Interrupción todos ~ 0.007s.
EI ;enables Interrupts
DI ;disables Interrupts
IM 1 ;sets the Normal Interrupt Mode
IM 2 ;sets the Advanced Interrupt Mode
LD I,$99;sets the Interrupt Pointer to $99 (just possible in IM 2)