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)


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow