Assembly Language
interrupt
Ricerca…
Osservazioni
Perché abbiamo bisogno di interruzioni
Immaginiamo: il nostro computer è collegato a una tastiera. Vogliamo entrare in qualcosa. Quando premiamo il tasto non succede niente perché il computer ha a che fare con cose diverse e non si accorge che vogliamo qualcosa da lui. Abbiamo bisogno di interruzioni!
Gli interrupt sono attivati dal software ( INT 80 h) o hardware (pressione dei tasti), si comportano come una chiamata (saltano in una posizione specifica, eseguono il codice e saltano di nuovo indietro).
Lavorare con interrupt su Z80:
Lo Z80 non ha una tabella di interrupt come i processori moderni. Gli interrupt eseguono tutti lo stesso codice. In Interrupt Mode 1, eseguono il codice in una posizione specifica non modificabile. In Interrupt Mode 2, eseguono il codice dal registro puntatore I indica. Lo Z80 ha un timer, che fa scattare l'interrupt a ~ 0.007 s.
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)