NMI
From Atariki
Wersja z dnia 19:42, 13 sie 2005 KMK (Dyskusja | wkład) ← Previous diff |
Wersja z dnia 20:06, 7 wrz 2005 KMK (Dyskusja | wkład) Next diff → |
||
Linia 17: | Linia 17: | ||
[[Kategoria:Atari 8-bit]] | [[Kategoria:Atari 8-bit]] | ||
[[Kategoria:Atari ST]] | [[Kategoria:Atari ST]] | ||
+ | [[Kategoria:Programowanie]] |
Wersja z dnia 20:06, 7 wrz 2005
NMI - ang. Non-Maskable Interrupt - przerwanie niemaskowalne.
Rodzaj przerwania, które w momencie wystąpienia (najpóźniej po zakończeniu wykonywania bieżącego rozkazu) musi być przyjęte i obsłużone przez procesor. A to w odróżnieniu od IRQ, które przyjęte i obsłużone być tylko może.
Atari XL/XE
W procesorze 6502 i 65c02 główny wektor przerwania NMI znajduje się pod adresem $FFFA.
W procesorze 65c816 pod adresem $00FFFA znajduje się wektor przerwania NMI dla trybu emulacji 6502. Gdy procesor jest przełączony w tryb natywny 65c816, adres procedury obsługi NMI jest pobierany spod $00FFEA.
W ośmiobitowym Atari mamy dwa przerwania niemaskowalne: VBL oraz DLI. Źródłem obydwu jest układ Antic.
Atari ST i pochodne
W procesorach Motoroli serii 68k przerwanie niemaskowalne jest to przerwanie o najwyższym priorytecie. Autowektor NMI jest to wektor numer 31 o adresie $007C (plus zawartość rejestru VBR). W Atari serii ST to przerwanie normalnie nie ma żadnego zastosowania.