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)


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow