<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl">
	<id>https://mirror.atariki.pl/w/index.php?action=history&amp;feed=atom&amp;title=NMI</id>
	<title>NMI - Historia wersji</title>
	<link rel="self" type="application/atom+xml" href="https://mirror.atariki.pl/w/index.php?action=history&amp;feed=atom&amp;title=NMI"/>
	<link rel="alternate" type="text/html" href="https://mirror.atariki.pl/w/index.php?title=NMI&amp;action=history"/>
	<updated>2026-10-01T23:57:12Z</updated>
	<subtitle>Historia wersji tej strony wiki</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://mirror.atariki.pl/w/index.php?title=NMI&amp;diff=2987&amp;oldid=prev</id>
		<title>imported&gt;Atariki recovery: Reconstructed from archived HTML; see provenance manifest</title>
		<link rel="alternate" type="text/html" href="https://mirror.atariki.pl/w/index.php?title=NMI&amp;diff=2987&amp;oldid=prev"/>
		<updated>2026-10-01T08:51:48Z</updated>

		<summary type="html">&lt;p&gt;Reconstructed from archived HTML; see provenance manifest&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nowa strona&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Non-Maskable Interrupt - przerwanie niemaskowalne.&lt;br /&gt;
&lt;br /&gt;
Rodzaj [[Przerwania|przerwania]], które w momencie wystąpienia (najpóźniej po zakończeniu wykonywania bieżącego rozkazu) &amp;#039;&amp;#039;&amp;#039;musi&amp;#039;&amp;#039;&amp;#039; być przyjęte i obsłużone przez [[Procesor|procesor]]. A to w odróżnieniu od [[IRQ]], które przyjęte i obsłużone być tylko &amp;#039;&amp;#039;&amp;#039;może&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Atari 8-bit ==&lt;br /&gt;
&lt;br /&gt;
W procesorze [[6502]] i [[65C02]] główny wektor przerwania NMI znajduje się pod adresem $FFFA.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
W ośmiobitowym Atari mamy trzy przerwania niemaskowalne: [[DLI]], [[VBL]] oraz [[NMI RESET]]. Źródłem wszystkich jest układ [[ANTIC (układ)|ANTIC]].&lt;br /&gt;
&lt;br /&gt;
=== Priorytety NMI ===&lt;br /&gt;
&lt;br /&gt;
W procesorach [[6502]], [[65C02]] i [[65C816]] nie ma żadnej koncepcji priorytetów przerwań, ustala je OS na drodze programowej kontrolując po kolei wszystkie możliwe źródła wystąpienia NMI. W Atari priorytet obsługi jest następujący (w kolejności od najwyższego do najniższego):&lt;br /&gt;
&lt;br /&gt;
1) Seria 400/800&lt;br /&gt;
&lt;br /&gt;
* DLI&lt;br /&gt;
* NMI RESET&lt;br /&gt;
* VBL&lt;br /&gt;
&lt;br /&gt;
2) Seria XL/XE&lt;br /&gt;
&lt;br /&gt;
* DLI&lt;br /&gt;
* VBL&lt;br /&gt;
&lt;br /&gt;
W komputerach XL/XE przerwanie NMI RESET jest niewykorzystane (i tym samym nieobsługiwane przez [[XL OS]]), zamiast niego używa się głównego przerwania [[RESET]] (CPU RESET).&lt;br /&gt;
&lt;br /&gt;
=== Blokowanie NMI ===&lt;br /&gt;
&lt;br /&gt;
Pomimo tego, że procesor musi przyjąć i obsłużyć przerwanie NMI, to w Atari 8-bit jest możliwość ich wyłączenia przez zablokowanie ich u źródła. Osiąga się to przez ingerencję w [[Rejestry ANTIC-a#NMIEN|rejestr NMIEN]] układu [[ANTIC (układ)|ANTIC]].&lt;br /&gt;
&lt;br /&gt;
== Atari ST i pochodne ==&lt;br /&gt;
&lt;br /&gt;
W procesorach Motoroli serii 68k przerwanie niemaskowalne jest to przerwanie o najwyższym priorytecie, którego nie da się zablokować maską przerwań CPU. 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.&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Programowanie]]&lt;br /&gt;
[[Kategoria:Programowanie Atari 8-bit]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Atariki recovery</name></author>
	</entry>
</feed>