NMI

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
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.

Personal tools