Assembly Language
Przerwania
Szukaj…
Uwagi
Dlaczego potrzebujemy Przerwania
Wyobraźmy sobie: nasz komputer jest podłączony do klawiatury. Chcemy coś wprowadzić. Po naciśnięciu klawisza nic się nie dzieje, ponieważ komputer zajmuje się różnymi rzeczami i nie zauważa, że czegoś od niego chcemy. Potrzebujemy Przerwania!
Przerwania są wywoływane przez oprogramowanie ( INT 80h) lub sprzętowe (naciśnięcie klawisza), zachowują się jak Wywołanie (przeskakują do określonej lokalizacji, wykonują kod i odskakują ponownie).
Praca z przerwaniami na Z80:
Z80 nie ma tabeli przerwań jak nowoczesne procesory. Przerwania wszystkie wykonują ten sam kod. W trybie przerwania 1 wykonują kod w określonej, niezmiennej lokalizacji. W trybie przerwania 2 wykonują kod z rejestru wskaźnika, na który wskazuje. Z80 ma zegar, który wyzwala Przerwanie przez wszystkie ~ 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)