<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl">
	<id>https://atariki.krap.pl/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Xxl</id>
	<title>Atariki - Wkład użytkownika [pl]</title>
	<link rel="self" type="application/atom+xml" href="https://atariki.krap.pl/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Xxl"/>
	<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php/Specjalna:Wk%C5%82ad/Xxl"/>
	<updated>2026-10-24T08:11:45Z</updated>
	<subtitle>Wkład użytkownika</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Dyskusja:Rejestry_ANTIC-a&amp;diff=35919</id>
		<title>Dyskusja:Rejestry ANTIC-a</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Dyskusja:Rejestry_ANTIC-a&amp;diff=35919"/>
		<updated>2017-04-13T06:12:48Z</updated>

		<summary type="html">&lt;p&gt;Xxl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;@Krótki: Jak to bit 5 (RESET) nie wykorzystany? Jak najbardziej wykorzystane... może nie w serii XL/XE, ale z tego co pamiętam w przypadku ATARI400/800 ten bit jak najbardziej jest podpięty. Z tego co pamiętam to 0xF dopisywał emulację tego do Atari800. Także proszę o pochopne nie kasowanie moim zdaniem potrzebnej informacji. Po drugie nawet jak w serii XL/XE nie jest podpięty to i tak w ANTIC-u mam konkretne znaczenie, usunięcie tej informacji było w/g mnie sporym błędem.&lt;br /&gt;
&lt;br /&gt;
dla przykładu: http://www.digitpress.com/library/techdocs/Atari_400-800_Service_Manual.pdf (strona 31)&lt;br /&gt;
&lt;br /&gt;
--[[Użytkownik:Seban|Seban/SLIGHT]] 23:52, 29 paź 2010 (CEST)&lt;br /&gt;
&lt;br /&gt;
Ehhh... biję się w pierś :) Napisałem zanim doczytałem czego dotyczyła zmiana... przepraszam za zamieszanie :) --[[Użytkownik:Seban|Seban/SLIGHT]] 00:03, 30 paź 2010 (CEST)&lt;br /&gt;
&lt;br /&gt;
Nie ma sprawy, pozdrawiam. --[[Użytkownik:Krótki|Krótki]] 11:25, 30 paź 2010 (CEST)&lt;br /&gt;
&lt;br /&gt;
@fox... jeżeli chodzi zmiany dotyczące PMBASE i widoczności graczy i pocisków... to pavros chyba robił jakiejś eksperymenty powodujące że było widać więcej linii, pisał o tym np. tu: http://www.atari.org.pl/forum/viewtopic.php?id=7331 i tu: https://atariage.com/forums/topic/153210-real-screen-height-of-pal-computers/ , co prawda jest to już przykład ekstremalny i pavros wspominał że nie działa wtedy sprite DMA ale nie wiem czy te zmiany w PMBASE na $xxx4 i xxx8 to dobry pomysł  --[[Użytkownik:Seban|Seban/SLIGHT]] 15:16, 11 kwi 2017 (CEST)&lt;br /&gt;
&lt;br /&gt;
No tak, ale DMA pobierze dane tylko z tego obszaru, o którym napisał Fox. Zmiany w pozostałych liniach trzeba sobie robić zapisem do GRAFx. [[Użytkownik:Mono|Mono]] 17:15, 11 kwi 2017 (CEST)&lt;br /&gt;
&lt;br /&gt;
Sądziłem że DMA pobiera od $xxx0 tylko że tego po prostu nie widać. Tak byłoby logiczniej i proście jeżeli chodzi o projekt w sprzęcie, ale widać miałem o tym mylne pojęcie.  --[[Użytkownik:Seban|Seban/SLIGHT]] 09:17, 12 kwi 2017 (CEST)&lt;br /&gt;
&lt;br /&gt;
Mono ma rację, jeszcze nikomu nie udało się uzyskać DMA poza 240 widocznymi liniami. Ale podrzuciliście mi pewien pomysł... --[[Użytkownik:0xF|0xF]] 21:06, 12 kwi 2017 (CEST)&lt;br /&gt;
&lt;br /&gt;
Myślisz spróbować oszukać ANTIC-a trickiem Rybaka? :) VSCROL-em? [[Użytkownik:Mono|Mono]] 21:37, 12 kwi 2017 (CEST)&lt;br /&gt;
&lt;br /&gt;
Zgaduj dalej. ;) --[[Użytkownik:0xF|0xF]] 23:20, 12 kwi 2017 (CEST)&lt;br /&gt;
&lt;br /&gt;
Mutacja pomysłu, który opisywałeś przy okazji 1-bit? [[Użytkownik:Xxl|Xxl]] 08:12, 13 kwi 2017 (CEST)&lt;/div&gt;</summary>
		<author><name>Xxl</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Buzzer&amp;diff=34392</id>
		<title>Buzzer</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Buzzer&amp;diff=34392"/>
		<updated>2014-09-27T15:47:28Z</updated>

		<summary type="html">&lt;p&gt;Xxl: /* Linki */ racja Mono, PACTL i SKCTL skasowany&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SDP}}&lt;br /&gt;
&lt;br /&gt;
1-bitowe wyjście dźwiękowe służące do generowania:&lt;br /&gt;
&lt;br /&gt;
* kliku klawiatury &amp;quot;K:&amp;quot;,&lt;br /&gt;
* sygnału uruchomienia magnetofonu &amp;quot;C:&amp;quot;,&lt;br /&gt;
* dźwięku brzęczyka edytora &amp;quot;E:&amp;quot; (patrz [[CIO]]).&lt;br /&gt;
&lt;br /&gt;
Sterowanie odbywa się za pomocą 3 bitu rejestru [[Rejestry GTIA#CONSOL|CONSOL]] stąd też często mówi się o &amp;quot;1-bitowym dźwięku [[GTIA]]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
W modelach serii [[400]]/[[800]] wyjście bitu GTIA podłączone jest do rzeczywistego głośnika umieszczonego wewnątrz komputera, natomiast w modelach serii [[XL]]/[[XE]] do ogólnego wyjścia audio (wyprowadzonego do gniazda TV oraz monitorowego).&lt;br /&gt;
&lt;br /&gt;
Systemowa procedura [[VBL|VBLK]] w części opóźnionej tuż przed odblokowaniem przerwań zapisuje do rejestru CONSOL wartość 8 co powoduje ustalenie poziomu linii układu GTIA w stan wysoki. Z tego względu programy generujące dźwięk techniką [http://pl.wikipedia.org/wiki/Modulacja_szeroko%C5%9Bci_impuls%C3%B3w PWM] w celu uniknięcia zakłóceń zazwyczaj blokują opóźnione przerwanie VBLK.&lt;br /&gt;
&lt;br /&gt;
Seria dem [[Beep&#039;em All]] autorstwa [[xxl]] pozwala naocznie przekonać się o możliwościach dźwiękowych GTIA.&lt;br /&gt;
&lt;br /&gt;
= Ciekawostki =&lt;br /&gt;
&lt;br /&gt;
Plotka głosi, iż piąty samplowany kanał dźwiękowy w demie [[Axel Foley]] grupy [[Union Software Of Silesia Rousers (USSR)]] zrealizowany jest właśnie za pomocą GTIA - jest to nieprawda. &lt;br /&gt;
 &lt;br /&gt;
= Linki =&lt;br /&gt;
&lt;br /&gt;
* [http://xxl.atari.pl/?page_id=52 Beep&#039;em All]&lt;br /&gt;
* [http://xxl.atari.pl/?page_id=54 Beep&#039;em All II]&lt;br /&gt;
* [http://xxl.atari.pl/?page_id=1219 Beep&#039;em All III]&lt;br /&gt;
* [http://xxl.atari.pl/?page_id=1628 Beep&#039;em All IV]&lt;br /&gt;
* [http://xxl.atari.pl/?page_id=1754 Beep&#039;em All V]&lt;br /&gt;
* [http://www.atari.org.pl/forum/viewtopic.php?id=11915 Dyskusja] nt. engine-u Tritone&lt;br /&gt;
* [http://www.atari.org.pl/forum/viewtopic.php?id=9204 Dyskusja] nt. engine-u Octode&lt;br /&gt;
* [http://www.atari.org.pl/forum/viewtopic.php?id=6317 Dyskusja] nt. możliwości 5-go kanału&lt;br /&gt;
* [http://www.atari.org.pl/forum/viewtopic.php?id=3844 Dyskusja] nt. muzyki 1-bit&lt;br /&gt;
* [http://atarionline.pl/v01/index.php?subaction=showfull&amp;amp;id=1376243900&amp;amp;archive=&amp;amp;start_from=0&amp;amp;ucat=1,7&amp;amp;ct=poczatki Tritone engine]&lt;br /&gt;
* [http://atarionline.pl/v01/index.php?subaction=showfull&amp;amp;id=1356810769&amp;amp;archive=&amp;amp;start_from=0&amp;amp;ucat=1,7&amp;amp;ct=poczatki Lyndon Sharp Engine]&lt;br /&gt;
* [http://atarionline.pl/v01/index.php?subaction=showfull&amp;amp;id=1362337891&amp;amp;archive=&amp;amp;start_from=0&amp;amp;ucat=1,7&amp;amp;ct=poczatki OCTODE Engine]&lt;br /&gt;
* [http://atarionline.pl/v01/index.php?subaction=showfull&amp;amp;id=1369770683&amp;amp;archive=&amp;amp;start_from=0&amp;amp;ucat=1,7&amp;amp;ct=poczatki QChan Engine]&lt;br /&gt;
* [http://xxl.atari.pl/?page_id=1211 Pixels]&lt;br /&gt;
* [http://xxl.atari.pl/?page_id=1300 Happy New Year 2013] &lt;br /&gt;
* [http://xxl.atari.pl/?page_id=82 Isora] 1-bitowa muzyka na ekranie z logo gry&lt;br /&gt;
* [http://xxl.atari.pl/?page_id=1169 MazezaM] 1-bitowa muzyka na ekranie tytułowym&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Atari 8-bit]]&lt;/div&gt;</summary>
		<author><name>Xxl</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Buzzer&amp;diff=34388</id>
		<title>Buzzer</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Buzzer&amp;diff=34388"/>
		<updated>2014-09-27T07:17:54Z</updated>

		<summary type="html">&lt;p&gt;Xxl: /* Linki */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SDP}}&lt;br /&gt;
&lt;br /&gt;
1-bitowe wyjście dźwiękowe służące generowania:&lt;br /&gt;
&lt;br /&gt;
* kliku klawiatury &amp;quot;K:&amp;quot;,&lt;br /&gt;
* sygnału uruchomienia magnetofonu &amp;quot;C:&amp;quot;,&lt;br /&gt;
* dźwięku brzęczyka edytora &amp;quot;E:&amp;quot; (patrz [[CIO]]).&lt;br /&gt;
&lt;br /&gt;
Sterowanie odbywa się za pomocą 3 bitu rejestru [[Rejestry GTIA#CONSOL|CONSOL]] stąd też często mówi się o &amp;quot;1-bitowym dźwięku [[GTIA]]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
W modelach serii [[400]]/[[800]] wyjście bitu GTIA podłączone jest do rzeczywistego głośnika umieszczonego wewnątrz komputera, natomiast w modelach serii [[XL]]/[[XE]] do ogólnego wyjścia audio (wyprowadzonego do gniazda TV oraz monitorowego).&lt;br /&gt;
&lt;br /&gt;
Systemowa procedura [[VBL|VBLK]] w części opóźnionej tuż przed odblokowaniem przerwań zapisuje do rejestru CONSOL wartość 8 co powoduje ustalenie poziomu linii układu GTIA w stan wysoki. Z tego względu programy generujące dźwięk techniką [http://pl.wikipedia.org/wiki/Modulacja_szeroko%C5%9Bci_impuls%C3%B3w PWM] w celu uniknięcia zakłóceń zazwyczaj blokują opóźnione przerwanie VBLK.&lt;br /&gt;
&lt;br /&gt;
Seria dem [[Beep&#039;em All]] autorstwa [[xxl]] pozwala naocznie przekonać się o możliwościach dźwiękowych GTIA.&lt;br /&gt;
&lt;br /&gt;
= Ciekawostki =&lt;br /&gt;
&lt;br /&gt;
Plotka głosi, iż piąty samplowany kanał dźwiękowy w demie [[Axel Foley]] grupy [[Union Software Of Silesia Rousers (USSR)]] zrealizowany jest właśnie za pomocą GTIA - jest to nieprawda. &lt;br /&gt;
 &lt;br /&gt;
= Linki =&lt;br /&gt;
&lt;br /&gt;
* [http://xxl.atari.pl/?page_id=52 Beep&#039;em All]&lt;br /&gt;
* [http://xxl.atari.pl/?page_id=54 Beep&#039;em All II]&lt;br /&gt;
* [http://xxl.atari.pl/?page_id=1219 Beep&#039;em All III]&lt;br /&gt;
* [http://xxl.atari.pl/?page_id=1628 Beep&#039;em All IV]&lt;br /&gt;
* [http://xxl.atari.pl/?page_id=1754 Beep&#039;em All V]&lt;br /&gt;
* [http://a8.fandal.cz/detail.php?files_id=39 Axel Foley]&lt;br /&gt;
* [http://www.atari.org.pl/forum/viewtopic.php?id=11915 Dyskusja] nt. engine-u Tritone&lt;br /&gt;
* [http://www.atari.org.pl/forum/viewtopic.php?id=9204 Dyskusja] nt. engine-u Octode&lt;br /&gt;
* [http://www.atari.org.pl/forum/viewtopic.php?id=6317 Dyskusja] nt. możliwości 5-go kanału&lt;br /&gt;
* [http://www.atari.org.pl/forum/viewtopic.php?id=3844 Dyskusja] nt. muzyki 1-bit&lt;br /&gt;
* [http://atarionline.pl/v01/index.php?subaction=showfull&amp;amp;id=1376243900&amp;amp;archive=&amp;amp;start_from=0&amp;amp;ucat=1,7&amp;amp;ct=poczatki Tritone engine]&lt;br /&gt;
* [http://atarionline.pl/v01/index.php?subaction=showfull&amp;amp;id=1356810769&amp;amp;archive=&amp;amp;start_from=0&amp;amp;ucat=1,7&amp;amp;ct=poczatki Lyndon Sharp Engine]&lt;br /&gt;
* [http://atarionline.pl/v01/index.php?subaction=showfull&amp;amp;id=1362337891&amp;amp;archive=&amp;amp;start_from=0&amp;amp;ucat=1,7&amp;amp;ct=poczatki OCTODE Engine]&lt;br /&gt;
* [http://atarionline.pl/v01/index.php?subaction=showfull&amp;amp;id=1369770683&amp;amp;archive=&amp;amp;start_from=0&amp;amp;ucat=1,7&amp;amp;ct=poczatki QChan Engine]&lt;br /&gt;
* [http://xxl.atari.pl/?page_id=1211 Pixels]&lt;br /&gt;
* [http://xxl.atari.pl/?page_id=56 Marry Christmas Beep] 1-bitowa muzyka na PACTL&lt;br /&gt;
* [http://xxl.atari.pl/?page_id=1300 Happy New Year 2013] &lt;br /&gt;
* [http://xxl.atari.pl/?page_id=82 Isora] 1-bitowa muzyka na ekranie z logo gry&lt;br /&gt;
* [http://xxl.atari.pl/?page_id=1169 MazezaM] 1-bitowa muzyka na ekranie tytułowym&lt;br /&gt;
* [http://atarionline.pl/forum/comments.php?DiscussionID=2750&amp;amp;page=1#Item_0 dyskusja] nt. zapisywania 1-bitowej muzyki na taśmie&lt;br /&gt;
* [http://www.atari.org.pl/forum/viewtopic.php?id=10387 dyskusja] nt. 1-bitowego dźwięku na SKCTL&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Atari 8-bit]]&lt;/div&gt;</summary>
		<author><name>Xxl</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Dyskusja:Programowanie:_Dekompresja_danych_w_formacie_LZ4&amp;diff=34052</id>
		<title>Dyskusja:Programowanie: Dekompresja danych w formacie LZ4</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Dyskusja:Programowanie:_Dekompresja_danych_w_formacie_LZ4&amp;diff=34052"/>
		<updated>2014-07-05T20:57:05Z</updated>

		<summary type="html">&lt;p&gt;Xxl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Poproszę w tytule o dodanie, że dotyczy XBIOSa, bo tak jest to nieuczciwe.--[[Użytkownik:Sikor|Sikor]] 21:41, 5 lip 2014 (CEST)&lt;br /&gt;
&lt;br /&gt;
Uzupełniłem informację. Myślę, teraz będzie jasne, że temat dotyczy nie tylko &amp;quot;XBIOSa&amp;quot;. Oczywiście pomysł na nową kategorię xB popieram. [[Użytkownik:Xxl|Xxl]] 22:57, 5 lip 2014 (CEST)&lt;/div&gt;</summary>
		<author><name>Xxl</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Programowanie:_Dekompresja_danych_w_formacie_LZ4&amp;diff=34051</id>
		<title>Programowanie: Dekompresja danych w formacie LZ4</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Programowanie:_Dekompresja_danych_w_formacie_LZ4&amp;diff=34051"/>
		<updated>2014-07-05T20:45:48Z</updated>

		<summary type="html">&lt;p&gt;Xxl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;LZ4 jest modyfikacją algorytmu LZ77 orientowaną na szybkość kompresji i dekompresji. Na Atari XL/XE dostępny jest program dekompresujący dane bezpośrednio z pliku (korzystający z biblioteki [[xB]]) oraz wersja dekompresująca dane znajdujące się w pamięci.&lt;br /&gt;
&lt;br /&gt;
Jego główne zalety to:&lt;br /&gt;
* szybkość (dekompresja na Atari XL/XE: ok. 17 kilobajtów na sekundę),&lt;br /&gt;
* zajętość pamięci - dekompresor zajmuje mniej niż stronę pamięci (&amp;lt;256 bajtów),&lt;br /&gt;
* nie wymaga pamięci tymczasowej,&lt;br /&gt;
* możliwość dekompresji strumienia danych z urządzenia zewnętrznego.&lt;br /&gt;
&lt;br /&gt;
Źródło procedury dekompresującej oraz sposób użycia na stronie [http://xxl.atari.pl/?p=1524 autora].&lt;br /&gt;
&lt;br /&gt;
Program kompresujący dla Windows dostępny jest pod adresem [http://fastcompression.blogspot.fr/p/lz4.html]&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Niezbędnik kodera]]&lt;/div&gt;</summary>
		<author><name>Xxl</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Programowanie:_Dekompresja_danych_w_formacie_LZ4&amp;diff=34045</id>
		<title>Programowanie: Dekompresja danych w formacie LZ4</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Programowanie:_Dekompresja_danych_w_formacie_LZ4&amp;diff=34045"/>
		<updated>2014-07-05T09:30:13Z</updated>

		<summary type="html">&lt;p&gt;Xxl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;LZ4 jest modyfikacją algorytmu LZ77 orientowaną na szybkość kompresji i dekompresji. Na Atari XL/XE dostępny jest program dekompresujący korzystający z biblioteki [[xB]].&lt;br /&gt;
&lt;br /&gt;
Jego główne zalety to:&lt;br /&gt;
* szybkość (dekompresja na Atari XL/XE: ok. 17 kilobajtów na sekundę),&lt;br /&gt;
* zajętość pamięci - dekompresor zajmuje mniej niż stronę pamięci (&amp;lt;256 bajtów),&lt;br /&gt;
* nie wymaga pamięci tymczasowej,&lt;br /&gt;
* możliwość dekompresji strumienia danych z urządzenia zewnętrznego.&lt;br /&gt;
&lt;br /&gt;
Źródło procedury dekompresującej oraz sposób użycia na stronie [http://xxl.atari.pl/?p=1524 autora].&lt;br /&gt;
&lt;br /&gt;
Program kompresujący dla Windows dostępny jest pod adresem [http://fastcompression.blogspot.fr/p/lz4.html]&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Niezbędnik kodera]]&lt;/div&gt;</summary>
		<author><name>Xxl</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Programowanie:_Dekompresja_danych_w_formacie_LZ4&amp;diff=34043</id>
		<title>Programowanie: Dekompresja danych w formacie LZ4</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Programowanie:_Dekompresja_danych_w_formacie_LZ4&amp;diff=34043"/>
		<updated>2014-07-05T09:29:11Z</updated>

		<summary type="html">&lt;p&gt;Xxl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;LZ4 jest modyfikacją algorytmu LZ77 orientowaną na szybkość kompresji i dekompresji. Na Atari XL/XE dostępny jest program dekompresujący korzystający z biblioteki [[xB]].&lt;br /&gt;
&lt;br /&gt;
Jego główne zalety to:&lt;br /&gt;
* szybkość (dekompresja na Atari XL/XE: ok. 17 kilobajtów na sekundę),&lt;br /&gt;
* zajętość pamięci - dekompresor zajmuje mniej niż stronę pamięci (&amp;lt;256 bajtów),&lt;br /&gt;
* brak pamięci tymczasowej,&lt;br /&gt;
* możliwość dekompresji strumienia danych z urządzenia zewnętrznego.&lt;br /&gt;
&lt;br /&gt;
Źródło procedury dekompresującej oraz sposób użycia na stronie [http://xxl.atari.pl/?p=1524 autora].&lt;br /&gt;
&lt;br /&gt;
Program kompresujący dla Windows dostępny jest pod adresem [http://fastcompression.blogspot.fr/p/lz4.html]&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Niezbędnik kodera]]&lt;/div&gt;</summary>
		<author><name>Xxl</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Biblioteczka_kodera_Atari_XL/XE&amp;diff=34040</id>
		<title>Biblioteczka kodera Atari XL/XE</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Biblioteczka_kodera_Atari_XL/XE&amp;diff=34040"/>
		<updated>2014-07-05T09:22:34Z</updated>

		<summary type="html">&lt;p&gt;Xxl: /* Inne */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Biblioteczka, czyli przydatne procedury i fragmenty kodu, głównie w asemblerze.&lt;br /&gt;
&lt;br /&gt;
==System==&lt;br /&gt;
&lt;br /&gt;
===CPU===&lt;br /&gt;
* [[Programowanie: Jak stwierdzić typ procesora|Jak stwierdzić typ procesora]]&lt;br /&gt;
* [[Programowanie: Jak stwierdzić, w jakim trybie jest 65C816|Jak stwierdzić, w jakim trybie jest 65C816]]&lt;br /&gt;
&lt;br /&gt;
===Pamięć===&lt;br /&gt;
* [[Obsługa rozszerzenia pamięci RAM]]&lt;br /&gt;
&lt;br /&gt;
===[[CIO]]===&lt;br /&gt;
&lt;br /&gt;
* [[Programowanie: Jak wyszukać pierwszy wolny IOCB|Jak wyszukać pierwszy wolny IOCB]]&lt;br /&gt;
&lt;br /&gt;
==== Edytor ekranowy ====&lt;br /&gt;
* [[Otwarcie ekranu w trybie konsoli (GRAPHICS 0)]]&lt;br /&gt;
* [[Odczyt rekordu tekstowego z edytora ekranowego (INPUT)]]&lt;br /&gt;
* [[Zapis znaku na ekran (PUT)]]&lt;br /&gt;
* [[Zapis ciągu znaków na ekran (PRINT)]]&lt;br /&gt;
* [[Znaki kontrolne edytora ekranowego]]&lt;br /&gt;
&lt;br /&gt;
==== Klawiatura ====&lt;br /&gt;
* [[Odczyt znaku z klawiatury (GET)]]&lt;br /&gt;
&lt;br /&gt;
==== Grafika ====&lt;br /&gt;
* [[Otwarcie ekranu w trybie graficznym (GRAPHICS)]]&lt;br /&gt;
&lt;br /&gt;
==== DOS ====&lt;br /&gt;
* [[Dostęp do plików]]&lt;br /&gt;
* [[Lista funkcji specjalnych CIO według urządzeń|Funkcje XIO]]&lt;br /&gt;
===== SpartaDOS X =====&lt;br /&gt;
* [[Programowanie: Jak stwierdzić obecność SpartaDOS X oraz jego konfigurację pamięci | Jak stwierdzić obecność SpartaDOS X oraz jego konfigurację pamięci]]&lt;br /&gt;
* [[TD Line: wyłączenie i włączenie z poziomu programu]]&lt;br /&gt;
* [[Programowanie: Jak parsować przełączniki z parametrami | Jak parsować przełączniki z parametrami]]&lt;br /&gt;
* [[Programowanie: Program odporny na RESET#SpartaDOS X | Program odporny na RESET]]&lt;br /&gt;
* [[Programowanie: Dostęp do pamięci rozszerzonej | Dostęp do pamięci rozszerzonej]]&lt;br /&gt;
* [[Programowanie: Przerywanie długotrwałych operacji klawiszem BREAK | Przerywanie długotrwałych operacji klawiszem BREAK]]&lt;br /&gt;
&lt;br /&gt;
=== Kody ===&lt;br /&gt;
* [[ATASCII|Kod ATASCII]]&lt;br /&gt;
* [[Kody ekranowe]]&lt;br /&gt;
* [[Kody błędów]]&lt;br /&gt;
* [[Kody klawiszy]]&lt;br /&gt;
* [[Znaki kontrolne edytora ekranowego|Kody kontrolne edytora ekranowego]]&lt;br /&gt;
&lt;br /&gt;
==Obliczenia stałoprzecinkowe==&lt;br /&gt;
&lt;br /&gt;
=== Ośmiobitowe ===&lt;br /&gt;
&lt;br /&gt;
* [[Programowanie: Konwersja liczby binarnej na cyfrę hex|Konwersja liczby binarnej na cyfrę hex]]&lt;br /&gt;
* [[Obroty bitowe]]&lt;br /&gt;
* [[Odejmowanie od (2 do X)-1]]&lt;br /&gt;
* [[Przesunięcie arytmetyczne]]&lt;br /&gt;
* [[Rozszerzenie arytmetyczne]]&lt;br /&gt;
&lt;br /&gt;
=== Szesnastobitowe ===&lt;br /&gt;
* [[Programowanie: Dzielenie 16-bitowe z wynikiem 32-bitowym|Dzielenie 16-bitowe z wynikiem 32-bitowym]]&lt;br /&gt;
* [[Programowanie: Mnożenie 16-bitowe z wynikiem 32-bitowym|Mnożenie 16-bitowe z wynikiem 32-bitowym]]&lt;br /&gt;
&lt;br /&gt;
== Grafika ==&lt;br /&gt;
&lt;br /&gt;
* [[Programowanie: Plot w Graphics 0|Plot w Graphics 0]]&lt;br /&gt;
* [[Programowanie: Definiowanie niestandardowych trybów graficznych | Definiowanie niestandardowych trybów graficznych]]&lt;br /&gt;
* [[Programowanie: Konwersja kolorowej grafiki z układu 6845| Konwersja kolorowej grafiki z układu 6845]]&lt;br /&gt;
&lt;br /&gt;
== Dźwięk ==&lt;br /&gt;
&lt;br /&gt;
* [[Programowanie: Detekcja stereo|Detekcja stereo]]&lt;br /&gt;
&lt;br /&gt;
==Techniki przyspieszania kodu==&lt;br /&gt;
&lt;br /&gt;
* [[Skoki do adresów w tablicy]]&lt;br /&gt;
* [[Szybsze zapamiętywanie rejestrów w procedurze przerwania]]&lt;br /&gt;
&lt;br /&gt;
==Techniki skracania kodu==&lt;br /&gt;
&lt;br /&gt;
* [[Inkrementacja i dekrementacja liczb wielobajtowych]]&lt;br /&gt;
* [[Obliczanie adresu danych dla podprogramów]]&lt;br /&gt;
* [[Ujemne indeksowanie]]&lt;br /&gt;
* [[Ustawianie i kasowanie znaczników]]&lt;br /&gt;
* [[Użycie rozkazu BIT jako wielobajtowego NOP-a]]&lt;br /&gt;
&lt;br /&gt;
==Inne==&lt;br /&gt;
&lt;br /&gt;
* [[Programowanie: Jak wyłączyć ROM systemu|Jak wyłączyć ROM systemu]]&lt;br /&gt;
* [[Programowanie: Dekompresja danych w formacie DEFLATE | Dekompresja danych w formacie DEFLATE]]&lt;br /&gt;
* [[Programowanie: Dekompresja danych przy użyciu Exomizera | Dekompresja danych przy użyciu Exomizera]]&lt;br /&gt;
* [[Programowanie: Dekompresja danych w formacie LZ4 | Dekompresja danych w formacie LZ4]]&lt;br /&gt;
* [[Programowanie: Zapis na ekran w różnych systemach liczbowych| Zapis na ekran w różnych systemach liczbowych]]&lt;br /&gt;
* [[Prosty generator pseudolosowy|Prosty generator pseudolosowy]]&lt;br /&gt;
* [[Pętle opóźniające|Pętle opóźniające]]&lt;br /&gt;
* [[Programowanie: Program odporny na RESET | Program odporny na RESET]]&lt;br /&gt;
&lt;br /&gt;
== Urządzenia peryferyjne ==&lt;br /&gt;
&lt;br /&gt;
===Stacje dysków===&lt;br /&gt;
* [[Programowanie stacji LDW Super 2000 i CA-2001]]&lt;br /&gt;
* [[Suma kontrolna SIO|Obliczanie sum kontrolnych SIO]]&lt;br /&gt;
&lt;br /&gt;
=== Twarde dyski ===&lt;br /&gt;
* [[APT]]&lt;br /&gt;
&lt;br /&gt;
===[[VBXE]]===&lt;br /&gt;
* [[Wykrycie VBXE]]&lt;br /&gt;
* [[Konwersja numeru banku MEMAC B na PORTB i odwrotnie]]&lt;br /&gt;
&lt;br /&gt;
===Inne===&lt;br /&gt;
* [[APE Time]]&lt;br /&gt;
&lt;br /&gt;
== Turbo BASIC XL ==&lt;br /&gt;
* [[Programowanie w Turbo BASIC XL]]&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Menu Główne]]&lt;br /&gt;
[[Kategoria:Programowanie Atari 8-bit]]&lt;/div&gt;</summary>
		<author><name>Xxl</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=XB&amp;diff=34027</id>
		<title>XB</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=XB&amp;diff=34027"/>
		<updated>2014-07-01T13:52:31Z</updated>

		<summary type="html">&lt;p&gt;Xxl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{grafr|XBmenu.png}}&lt;br /&gt;
&lt;br /&gt;
Biblioteka I/O z funkcją [[inicjalizer|inicjlizera]] / file loadera dla formatu dysków AtariDOS z rozszerzeniami [[MyDOS]]-a, [[BiboDOS]]-a i [[TopDOS]]-a. Rozpoznaje katalogi i dzięki temu nadaje się do wczytywania gier z partycji twardego dysku. Program można ściągnąć [http://xxl.atari.pl/download/xb.com stąd].&lt;br /&gt;
&lt;br /&gt;
==Zobacz też==&lt;br /&gt;
&lt;br /&gt;
* [[Chaos Loader]]&lt;br /&gt;
* [[File Loader]]&lt;br /&gt;
&lt;br /&gt;
==Zewnętrzne linki==&lt;br /&gt;
&lt;br /&gt;
[http://xxl.atari.pl/?p=1076 xB na stronie autora]&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Oprogramowanie Atari 8-bit]]&lt;br /&gt;
[[Kategoria:Polskie programy]]&lt;/div&gt;</summary>
		<author><name>Xxl</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=XB&amp;diff=34026</id>
		<title>XB</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=XB&amp;diff=34026"/>
		<updated>2014-07-01T13:47:58Z</updated>

		<summary type="html">&lt;p&gt;Xxl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{grafr|XBmenu.png}}&lt;br /&gt;
&lt;br /&gt;
Biblioteka I/O z funkcją [[inicjalizer|inicjlizera]] / file loadera dla formatu dysków AtariDOS z rozszerzeniami [[MyDOS]]-a, [[BiboDOS]]-a i [[TopDOS]]-a. Rozpoznaje katalogi i dzięki temu nadaje się do wczytywania gier z partycji twardego dysku. Program można ściągnąć [http://xxl.atari.pl/download/xb.com stąd].&lt;br /&gt;
&lt;br /&gt;
==Zobacz też==&lt;br /&gt;
&lt;br /&gt;
* [[Chaos Loader]]&lt;br /&gt;
* [[File Loader]]&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Oprogramowanie Atari 8-bit]]&lt;br /&gt;
[[Kategoria:Polskie programy]]&lt;/div&gt;</summary>
		<author><name>Xxl</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Plik:XBmenu.png&amp;diff=34025</id>
		<title>Plik:XBmenu.png</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Plik:XBmenu.png&amp;diff=34025"/>
		<updated>2014-07-01T13:45:30Z</updated>

		<summary type="html">&lt;p&gt;Xxl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Xxl</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=XB&amp;diff=34024</id>
		<title>XB</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=XB&amp;diff=34024"/>
		<updated>2014-07-01T13:43:16Z</updated>

		<summary type="html">&lt;p&gt;Xxl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Biblioteka I/O z funkcją [[inicjalizer|inicjlizera]] / file loadera dla formatu dysków AtariDOS z rozszerzeniami [[MyDOS]]-a, [[BiboDOS]]-a i [[TopDOS]]-a. Rozpoznaje katalogi i dzięki temu nadaje się do wczytywania gier z partycji twardego dysku. Program można ściągnąć [http://xxl.atari.pl/download/xb.com stąd].&lt;br /&gt;
&lt;br /&gt;
==Zobacz też==&lt;br /&gt;
&lt;br /&gt;
* [[Chaos Loader]]&lt;br /&gt;
* [[File Loader]]&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Oprogramowanie Atari 8-bit]]&lt;br /&gt;
[[Kategoria:Polskie programy]]&lt;/div&gt;</summary>
		<author><name>Xxl</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Programy_u%C5%BCytkowe_na_Atari_8-bit_(lista_tematyczna)&amp;diff=34023</id>
		<title>Programy użytkowe na Atari 8-bit (lista tematyczna)</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Programy_u%C5%BCytkowe_na_Atari_8-bit_(lista_tematyczna)&amp;diff=34023"/>
		<updated>2014-07-01T13:37:55Z</updated>

		<summary type="html">&lt;p&gt;Xxl: /* Do formatu AtariDOS/MyDOS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Archiwery==&lt;br /&gt;
===Archiwizacja danych===&lt;br /&gt;
* [[ARC (program archiwizujący)|ARC]], [[Disk Communicator]], [[Full Disk Archiver]], [[ARC (program archiwizujący)|SuperArc]], [[ARC (program archiwizujący)|SuperUnArc]], [[SuperUnLHArc]], [[TAR]], [[Xunzip]]&lt;br /&gt;
&lt;br /&gt;
===Kompresja plików wykonywalnych===&lt;br /&gt;
* [[APC Archiver]], [[Code3 Cruncher]], [[DJP]], [[FlashPack]], [[SuperPacker]]&lt;br /&gt;
==Biuro==&lt;br /&gt;
* [[GT Albert E. Spread Sheet]], [[GT Data Manager]], [[Mini Office II]], [[Syncalc]], [[Synfile]], [[Syngraph]], [[Synstat]], [[The Home Filing Manager]], [[VisiCalc]]&lt;br /&gt;
==CAD==&lt;br /&gt;
* [[Atari CAD]], [[CAD XE]], [[Mad Designer]]&lt;br /&gt;
==Dźwięk==&lt;br /&gt;
* [[AudioMaster]], [[Automat Perkusyjny]], [[Avalon Music Composer]], [[Black Magic Composer]], [[CDAUDIO]], [[CDREAD]], [[Chaos Music Composer]], [[Chaos Music Miąchadełko]], [[D2D]], [[Delta Music Composer]], [[Future Composer]], [[Inertia]], [[Mega Player]], [[Music ProTracker]], [[Music Tracker]], [[NeoTracker]], [[ProTracker]], [[S.A.M.]], [[SID Player]], [[Softsynth]], [[SoundMachine]], [[Sound Tracker]], [[Theta Music Composer]]&lt;br /&gt;
&lt;br /&gt;
==Edukacja==&lt;br /&gt;
* [[Atari Planetarium]], [[Earth Views]]&lt;br /&gt;
&lt;br /&gt;
==Edytory tekstu==&lt;br /&gt;
* [[Atari Writer]], [[Atari Writer Plus]], [[Atari Writer 80]], [[Energy Editor]], [[GT Estate Word Processor]], [[Ghost Editor]], [[JBW Edit]], [[Mini Office II]], [[Panther (edytor)|Panther]], [[PaperClip]], [[Prawda Editor]], [[Rolnik Noter]], [[SpeedScript]], [[Sword Noter]], [[The First XLEnt Word Processor]], [[The Last Word]], [[XEDIT]], [[XLFriend]]&lt;br /&gt;
&lt;br /&gt;
== Emulatory ==&lt;br /&gt;
* [[Chip8|Chip8 i Super Chip8]], [[zXEmulator]],&lt;br /&gt;
&lt;br /&gt;
==Grafika==&lt;br /&gt;
===Statyczna===&lt;br /&gt;
* [[Atari Artist]], [[AtariGraphics]], [[Blazing Paddles]], [[Design Master]], [[BMP Convert]], [[DigiPaint]], [[Envision]], [[Fun with Art]], [[Game Graph Utility]], [[GED]], [[GR8 Logoser]], [[Graph]], [[Graph8]], [[Graph2Font]], [[Graphics 3 Planner]], [[Hi-Res Dump]], [[Kleks]], [[Koala Microillustrator]], [[Lepix]], [[Logos Maker]], [[Mad Designer]], [[McPainter]], [[Micropainter]], [[Paint 256]], [[Pixel Artis Deluxe]], [[PGF PoFo Viewer|PGC PoFo Viewer]], [[PGF PoFo Viewer]], [[Plama 256]], [[Point]], [[Power Graphics]], [[RAMbrandt]], [[R-Draw]], [[SGE]], [[SHIMC]], [[Tops Graph]], [[Trzmiel]], [[Visage]], [[XL-Art]], [[XL-Paint]], [[XL-Paint MAX]]&lt;br /&gt;
&lt;br /&gt;
===Animacja/Video===&lt;br /&gt;
* [[Animator]], [[Demo Construction Kit]], [[Demo-Maker]], [[Film Editor]], [[MOVIE MAKER]], [[Screen Maker]], [[Videograph]]&lt;br /&gt;
===Obróbka fontów===&lt;br /&gt;
* [[Atari Font Maker]], [[Chaos Font Maker]], [[JBW Font Designer]]&lt;br /&gt;
==Mała poligrafia==&lt;br /&gt;
* [[Megafont II Plus|Megafont II+]], [[Newsroom]], [[Page Designer]], [[Print Shop]], [[Rubber Stamp]], [[Sprint XL]], [[Typesetter]], &lt;br /&gt;
&lt;br /&gt;
==Programowanie==&lt;br /&gt;
===Języki programowania===&lt;br /&gt;
====Asembler====&lt;br /&gt;
=====Asemblery natywne=====&lt;br /&gt;
======Miniasemblery======&lt;br /&gt;
* [[ADMA]], [http://www.page6.org/pd_lib/special/pd_ds036.htm Grip Assembler]&lt;br /&gt;
======Asemblery======&lt;br /&gt;
* [[AlfAssembler]], [[Assembler Editor]], [[Bibo Assembler]], [[Big Assembler]], [[Datasm/65]], [[EASMD]], [[Quick Assembler]], [[QA Swap]], [[SynAssembler]], [[Turbo-Assembler/16]]&lt;br /&gt;
======Asemblery dedykowane======&lt;br /&gt;
* [[Fast Assembler]]&lt;br /&gt;
======Makroasemblery======&lt;br /&gt;
* [[130XE Macro Assembler]], [[A65]], [[AMAC]], [[ATasm]], [[ATMAS|ATMAS II]], [[Kasm65]], [[MAC/65]], [[MA65]], [[MAC/65 Toolkit]], [[MAE]]&lt;br /&gt;
&lt;br /&gt;
=====Cross-assemblery=====&lt;br /&gt;
* [[ACME]], [[A.S.S.I.]], [[CA65]], [[HCASM]], [[MADS]], [[NASM65]], [[QASM]], [[OMC65]], [[PC-65]], [[ST-65]], [[xasm]], [[Zooey]]&lt;br /&gt;
====Action!====&lt;br /&gt;
* [[Action!]], [[ACTION! Toolkit]]&lt;br /&gt;
====BASIC====&lt;br /&gt;
=====Interpretery=====&lt;br /&gt;
* [[Atari BASIC]], [[Atari Microsoft BASIC]], [[BASIC A Plus|BASIC A+]], [[BASIC XL]], [[BASIC XE]], [[CTH Fast BASIC]], [[MultiBASIC]], [[Turbo BASIC XL]]&lt;br /&gt;
&lt;br /&gt;
=====Kompilatory=====&lt;br /&gt;
* [[ABC BASIC Compiler]], [[Advan BASIC]], [[JLS BASIC]], [[MMG BASIC Compiler]], [[Turbo BASIC XL Compiler]]&lt;br /&gt;
&lt;br /&gt;
=====Rozszerzenia=====&lt;br /&gt;
* [[Monkey Wrench]]&lt;br /&gt;
&lt;br /&gt;
====C====&lt;br /&gt;
* [[ACE C]], [[C/65]], [[CC65]], [[CC8]], [[Deep Blue C]], [[DVC C]], [[Lightspeed C]]&lt;br /&gt;
====Forth====&lt;br /&gt;
* [[ANTIC Forth]], [[ES-Forth]], [[Extended fig-Forth]], [[fig-Forth]], [[fun-Forth]], [[Grafik-Forth]], [[MesaForth]], [[QS Forth]], [[Turbo-4th]], [[ValForth]], [[VolksForth]], [[X-Forth]]&lt;br /&gt;
&lt;br /&gt;
====Pascal====&lt;br /&gt;
* [[Atari Pascal Language System]], [[Kyan Pascal]], [[Draper Pascal]]&lt;br /&gt;
====Inne====&lt;br /&gt;
* [[Atari Logo]], [[Atari Pilot]], [[InterLisp/65]]. [[MAG]], [[Quick]], [[PL/65]]&lt;br /&gt;
===Debuggery===&lt;br /&gt;
* [[BUG/65]], [[Bug Hunter]], [[Freemon]], [[MAE]], [[Mossad]], [[Turbo-816 Monitor]], [[UMON XL]]&lt;br /&gt;
&lt;br /&gt;
==System==&lt;br /&gt;
===DOS===&lt;br /&gt;
&lt;br /&gt;
====Atari DOS====&lt;br /&gt;
* [[DOS 1.0]], [[DOS 2.0]], [[DOS 2.5]], [[DOS 3.0]], [[DOS 4.0]], [[DOS XE]]&lt;br /&gt;
&lt;br /&gt;
==== ICD ====&lt;br /&gt;
* [[SpartaDOS]], [[SpartaDOS X]], [[SpartaDOS Construction Set]]&lt;br /&gt;
&lt;br /&gt;
==== OSS ====&lt;br /&gt;
* [[OS/A Plus|OS/A+]], [[DOS XL]], [[PicoDOS]]&lt;br /&gt;
&lt;br /&gt;
==== Inne ====&lt;br /&gt;
* [[BiboDOS]], [[BW-DOS]], [[DOS II/D|DOS II+/D]], [[K-DOS]], [[MachDOS]], [[MasterDOS]], [[MyDOS]], [[RainbowDOS]], [[Real.DOS]], [[SMARTDOS]], [[SuperDOS]], [[TopDOS]], [[TurboDOS]], [[XDOS]]&lt;br /&gt;
&lt;br /&gt;
===Nakładki graficzne===&lt;br /&gt;
* [[Diamond GOS]], [[RAOS]], [[TRS Desktop]]&lt;br /&gt;
&lt;br /&gt;
===Narzędzia dyskowe===&lt;br /&gt;
====Inicjalizery====&lt;br /&gt;
=====Do formatu AtariDOS/MyDOS=====&lt;br /&gt;
* [[Chaos Loader]], [[File Loader]], [[Hope Init]], [[xB]]&lt;br /&gt;
&lt;br /&gt;
=====Do formatu SpartaDOS=====&lt;br /&gt;
* [[Micro SpartaDOS]], [[SD-Load]], [[SpartaInit]], [[XDIR]]&lt;br /&gt;
&lt;br /&gt;
====File managery====&lt;br /&gt;
* [[Atari Commander]], [[DOS Control]], [[Professional Copy]], [[TOMS Navigator]]&lt;br /&gt;
====Programy kopiujące====&lt;br /&gt;
* [[DiskCopy]], [[F copy]], [[HDSC]], [[MiniCopy]], [[Universal copy]], [[US sector copy]], [[Via Copy]]&lt;br /&gt;
&lt;br /&gt;
====Programy do robienia backupów====&lt;br /&gt;
* [[FlashBack!]], [[HardBack]]&lt;br /&gt;
====Programy do analizy struktury dysku====&lt;br /&gt;
* [[CleanUp]], [[CleanUp X]], [[DiskFix]], [[VTOC Fixer]]&lt;br /&gt;
&lt;br /&gt;
====Edytory dyskowe====&lt;br /&gt;
* [[DiskRx]], [[Eddy]], [[Sherlock]], [[Szperacz Dyskowy]], [[UMON XL]], [[Watson]], [[Watson II]]&lt;br /&gt;
&lt;br /&gt;
====Pozostałe====&lt;br /&gt;
* [[KMK/JŻ IDE FDISK]], [[KMK/JŻ IDE FDISK II]], [[MyIDE Manager]], [[NN Tools]], [[RIF SpartaDOS Utilities]], [[SpartaDOS Toolkit]], [[Synchromesh]], [[Synchromesh|SuperSynchromesh]], [[XF-Tools]]&lt;br /&gt;
&lt;br /&gt;
===Atari OS===&lt;br /&gt;
====Sterowniki urządzeń zewnętrznych====&lt;br /&gt;
* Patrz [[Lista handlerów CIO]]&lt;br /&gt;
&lt;br /&gt;
====Translatory====&lt;br /&gt;
* [[Translator]], [[XL-Fix]]&lt;br /&gt;
====Pozostałe====&lt;br /&gt;
* [[SysInfo]]&lt;br /&gt;
===CP/M===&lt;br /&gt;
* [[CP/M|CP/M 2.2]], [[CP/M Tool]], [[TTerminal]]&lt;br /&gt;
&lt;br /&gt;
==Telekomunikacja==&lt;br /&gt;
* [[850 Express!]], [[1030 Express!]], [[ANSI Term]], [[BBS Express!]], [[BobTerm]], [[FlickerTerm]], [[Ice-T]], [[Term 80]], [[XE Term]]&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Menu Główne]]&lt;/div&gt;</summary>
		<author><name>Xxl</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Kody_statusowe_Atari_OS&amp;diff=33982</id>
		<title>Kody statusowe Atari OS</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Kody_statusowe_Atari_OS&amp;diff=33982"/>
		<updated>2014-06-12T07:02:13Z</updated>

		<summary type="html">&lt;p&gt;Xxl: 181&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Powodzenie==&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellpadding=5&lt;br /&gt;
! Kod !! Opis&lt;br /&gt;
|-&lt;br /&gt;
| 1 ($01) || Operacja zakończona poprawnie.&lt;br /&gt;
|-&lt;br /&gt;
| 3 ($03) || Właśnie zakończona operacja odczytu pobrała ostatni bajt pliku, następny odczyt spowoduje wystąpienie błędu 136 (EOF, patrz niżej). Uwaga: nie wszystkie sterowniki urządzeń zwracają ten status, część sygnalizuje w tym przypadku $01. Są to: umieszczony w ROM-ie sterownik magnetofonu, oraz takie DOS-y jak [[SpartaDOS]] (wliczając w to [[SpartaDOS X]] do wersji 4.45 włącznie).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Niepowodzenie==&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellpadding=5&lt;br /&gt;
! Kod &amp;quot;dodatni&amp;quot; (tradycyjny) !! Kod &amp;quot;ujemny&amp;quot; !! Źródło błędu !! Nazwa !! Opis&lt;br /&gt;
|-&lt;br /&gt;
| 128 ($80) || -128 || [[CIO]] i [[SIO]] || BREAK KEY ABORT || Podczas trwania operacji I/O wciśnięto klawisz &#039;&#039;Break&#039;&#039;, w wyniku czego została przerwana&lt;br /&gt;
|-&lt;br /&gt;
| 129 ($81) || -127 || [[CIO]] || IOCB ALREADY IN USE (OPEN) || Nakazano otwarcie już otwartego kanału I/O&lt;br /&gt;
|-&lt;br /&gt;
| 130 ($82) || -126 || [[CIO]] || NON-EXISTENT DEVICE || Urządzenie o podanym identyfikatorze nie istnieje&lt;br /&gt;
|-&lt;br /&gt;
| 131 ($83) || -125 || [[CIO]] || OPENED FOR WRITE ONLY || Nakazano odczyt z pliku otwartego tylko do zapisu&lt;br /&gt;
|-&lt;br /&gt;
| 132 ($84) || -124 || [[CIO]] || INVALID COMMAND || Parametry przekazane do znanej funkcji CIO są nieprawidłowe.&lt;br /&gt;
|-&lt;br /&gt;
| 133 ($85) || -123 || [[CIO]] || DEVICE OR FILE NOT OPEN || Nakazano przeprowadzenie operacji I/O na nie otwartym kanale I/O&lt;br /&gt;
|-&lt;br /&gt;
| 134 ($86) || -122 || [[CIO]] || INVALID IOCB NUMBER || Podany numer kanału IOCB jest niewłaściwy&lt;br /&gt;
|-&lt;br /&gt;
| 135 ($87) || -121 || [[CIO]] || OPENED FOR READ ONLY || Nakazano zapis do pliku otwartego tylko do odczytu&lt;br /&gt;
|-&lt;br /&gt;
| 136 ($88) || -120 || [[CIO]] || END OF FILE || W pliku nie ma więcej danych do odczytu&lt;br /&gt;
|-&lt;br /&gt;
| 137 ($89) || -119 || [[CIO]] || TRUNCATED RECORD || W trybie odczytu rekordów (&amp;quot;tekstowym&amp;quot;) próbowano odczytu rekordu o długości większej od dozwolonej; na ogół błąd ten występuje przy próbie odczytu pliku binarnego w trybie &amp;quot;tekstowym&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 138 ($8a) || -118 || [[SIO]] || DEVICE TIMEOUT (DOESN&#039;T RESPOND) || Urządzenie nie odpowiedziało na komendę komputera w czasie na to przewidzianym; na ogół oznacza to, że urządzenie nie istnieje, jest wadliwie podłączone bądź uszkodzone&lt;br /&gt;
|-&lt;br /&gt;
| 139 ($8b) || -117 || [[SIO]] || DEVICE NAK || Urządzenie nie potrafi przeprowadzić nakazanej operacji (nie zna takiej komendy)&lt;br /&gt;
|-&lt;br /&gt;
| 140 ($8c) || -116 || [[SIO]] || SERIAL BUS INPUT FRAMING ERROR || Transmisja szeregowa pomiędzy komputerem a urządzeniem została zakłócona. Oznacza to na ogół wadliwe połączenie (nie kontaktujący wtyk, przełamany przewód, przewód przebiegający obok silnego pola elektromagnetycznego itd.) lub uszkodzenie urządzenia bądź komputera&lt;br /&gt;
|-&lt;br /&gt;
| 141 ($8d) || -115 || [[CIO]] || CURSOR OUT-OF-RANGE || Koordynaty dla nakazanej operacji graficznej znajdują się poza ekranem&lt;br /&gt;
|-&lt;br /&gt;
| 142 ($8e) || -114 || [[SIO]] || SERIAL BUS DATA FRAME OVERRUN ERROR || Komputer nie zdążył odebrać danych przesłanych przez urządzenie i zostały one zamazane przez dane nadesłane następnie. Jest to bardzo rzadko występujący błąd, na ogół oznacza spowodowane przez program użytkownika przeciążenie przerwań albo zbyt dużą szybkość transmisji zaprogramowaną na układzie [[POKEY]].&lt;br /&gt;
|-&lt;br /&gt;
| 143 ($8f) || -113 || [[SIO]] || SERIAL BUS DATA FRAME CHECKSUM ERROR || [[Suma kontrolna SIO]] przesłanego bloku danych obliczona przez komputer nie zgadza się z tą przesłaną przez urządzenie; zmora posiadaczy magnetofonów&lt;br /&gt;
|-&lt;br /&gt;
| 144 ($90) || -112 || [[SIO]] || DEVICE DONE ERROR || Przy odczycie błąd ten oznacza wadliwy sektor na dyskietce; przy zapisie oznacza, że natrafiono na wadliwy sektor albo dyskietka jest fizycznie zabezpieczona przed zapisem&lt;br /&gt;
|-&lt;br /&gt;
| 145 ($91) || -111 || [[CIO]] || BAD SCREEN MODE || Instrukcja graficzna nie może być wykonana w aktualnie wykorzystywanym trybie pracy ekranu.&lt;br /&gt;
|-&lt;br /&gt;
| 146 ($92) || -110 || [[CIO]] || FUNCTION NOT SUPPORTED BY HANDLER || Nakazana funkcja nie jest zaimplementowana w programie obsługi podanego urządzenia (np. odczyt z drukarki)&lt;br /&gt;
|-&lt;br /&gt;
| 147 ($93) || -109 || [[CIO]] || INSUFFICIENT MEMORY FOR SCREEN MODE || Nie ma wystarczającej ilości wolnej pamięci, żeby zrealizować żądany tryb graficzny. Błąd ten występuje na ogół przy próbie zmiany trybu graficznego na taki, który zajmuje więcej pamięci, przez co wektor MEMTOP zyskałby niższą wartość niż wektor APPMHI.&lt;br /&gt;
|-&lt;br /&gt;
| 148 ($94) || -108 || [[CIO]] || UNRECOGNIZED DISKETTE FORMAT || [[SpartaDOS X]]: DOS nie jest w stanie czytać ani zapisywac plików na dyskietce, bo nie rozpoznaje formatu, w jakim jest zapisana.&lt;br /&gt;
|-&lt;br /&gt;
| 149 ($95) || -107 || ? || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=2 | 150 ($96) || rowspan=2 | -106 || rowspan=2 | [[CIO]] || PATH NOT FOUND || Podany w ścieżce dostępu katalog nie istnieje&lt;br /&gt;
|-&lt;br /&gt;
| PORT ALREADY IN USE || Podjęto próbę otwarcia jako pliku portu RS-232-C, który już jest przypisany do innego, bieżąco otwartego pliku. Jeden port RS-232-C nie może być równocześnie używany przez więcej niż jeden otwarty plik ([[850]]).&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=2 | 151 ($97) || rowspan=2 | -105 || rowspan=2 | [[CIO]] || FILE EXISTS || Nakazano zapis pliku zabezpieczonego przed zapisem, zmianę nazwy pliku na już istniejącą w katalogu, albo próbowano zastąpić plik katalogiem lub katalog plikiem.&lt;br /&gt;
|-&lt;br /&gt;
| NOT OPEN FOR CONCURRENT I/O || Podjęto próbę aktywowania trybu współbieżnego portu RS-232-C, podczas gdy port ten nie został był otwarty do pracy w trybie współbieżnym ([[850]]).&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=2 | 152 ($98) || rowspan=2 | -104 || rowspan=2 | [[CIO]] || NOT BINARY FILE || Nie można uruchomić pliku, ponieważ nie jest to plik binarny.&lt;br /&gt;
|-&lt;br /&gt;
| INVALID BUFFER || Parametry bufora danych dla portu RS-232-C zdefiniowane przez użytkownika do pracy w trybie współbieżnym są niemożliwe do zaakceptowania ([[850]]).&lt;br /&gt;
|-&lt;br /&gt;
| 153 ($99) || -103 || [[CIO]] || ILLEGAL IN CONCURRENT MODE || Pojęto próbę wykonania dowolnej operacji I/O na porcie RS-232-C, podczas gdy inny port RS-232-C jest otwarty w trybie współbieżnym. W tym trybie można wykonywać tylko komendy INPUT, PRINT, GET, PUT, STATUS oraz CLOSE dla portu otwartego w trybie współbieżnym, pozostałe porty RS-232-C są niedostępne ([[850]]).&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=2 | 154 ($9a) || rowspan=2 | -102 || rowspan=2 | [[CIO]] || SYMBOL NOT DEFINED || DOS nie może załadować pliku binarnego, ponieważ wymagany przezeń symbol nie został zdefiniowany.&lt;br /&gt;
|-&lt;br /&gt;
| CONCURRENT I/O NOT ACTIVE || Port RS-232-C musi zostać przełączony w tryb współbieżny dla prawidłowego wykonania operacji INPUT oraz GET ([[850]]).&lt;br /&gt;
|-&lt;br /&gt;
| 155 ($9b) || -101 || [[SIO]] || DEVICE BUSY || Nakazana operacja nie może zostać zrealizowana, bo wskazane urządzenie jest (już) zajęte.&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=2 | 156 ($9c) || rowspan=2 | -100 || [[SIO]] || INCOMPLETE EXECUTION || Podczas odczytu handlera z [[nowe urządzenia|nowego urządzenia]] (zob. [[SIO]]) wystąpił niespodziewany koniec pliku.&lt;br /&gt;
|-&lt;br /&gt;
| [[CIO]] || BAD PARAMETER || [[SpartaDOS X]]: parametry wywołania są nieprawidłowe.&lt;br /&gt;
|-&lt;br /&gt;
| 157 ($9d) || -99 || [[SIO]] || HANDLER TOO LONG || Podczas odczytu handlera z [[nowe urządzenia|nowego urządzenia]] (zob. [[SIO]]) skończyła się wolna pamięć.&lt;br /&gt;
|-&lt;br /&gt;
| 158 ($9e) || -98 || [[CIO]] || OUT OF MEMORY || Nie ma więcej miejsca dla programów.&lt;br /&gt;
|-&lt;br /&gt;
| 159 ($9f) || -97 || ? || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| 160 ($a0) || -96 || [[CIO]] || DISK DRIVE # ERROR || Podany został niedozwolony numer stacji dysków. Zakres dopuszczalnych numerów jest zależny od DOS-u - system operacyjny zezwala na użycie numerów od 1 do 9.&lt;br /&gt;
|-&lt;br /&gt;
| 161 ($a1) || -95 || [[CIO]] || TOO MANY OPEN DISK FILES || Urządzenie nie jest w stanie obsłużyć więcej plików otwartych jednocześnie&lt;br /&gt;
|-&lt;br /&gt;
| 162 ($a2) || -94 || [[CIO]] || DISK FULL || Na dyskietce nie ma więcej miejsca&lt;br /&gt;
|-&lt;br /&gt;
| 163 ($a3) || -93 || [[CIO]] || FATAL DISK I/O ERROR || Nie można stosować znaków &#039;?&#039; lub &#039;*&#039; przy zakładaniu plików lub podkatalogów&lt;br /&gt;
|-&lt;br /&gt;
| 164 ($a4) || -92 || [[CIO]] || INTERNAL FILE # MISMATCH || Odczytany sektor dyskietki należy do innego pliku niż aktualnie używany. Wystąpienie tego błędu w instrukcji [[POINT]] oznacza, że został podany błędny numer sektora. W innych przypadkach sygnalizuje to zakłócenie ciągłości plików na dyskietce AtariDOS. Należy wtedy dokonać weryfikacji dyskietki, np. przy pomocy programu DISKFIX (dla [[DOS 2.5]]).&lt;br /&gt;
|-&lt;br /&gt;
| 165 ($a5) || -91 || [[CIO]] || FILE NAME ERROR || Podana nazwa pliku zawiera niedozwolony znak&lt;br /&gt;
|-&lt;br /&gt;
| 166 ($a6) || -90 || [[CIO]] || POINT DATA LENGTH ERROR || Argument wykracza poza dopuszczalny zakres wartości, np. nakazano odczyt danych poza końcem pliku otwartego do odczytu.&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=2 | 167 ($a7) || rowspan=2 | -89 || rowspan=2 | [[CIO]] || FILE LOCKED || AtariDOS: Pliku nie można skasować, bo jest zabezpieczony (ma ustawiony bit PROTECTED).&lt;br /&gt;
|-&lt;br /&gt;
| DIRECTORY NOT EMPTY || SpartaDOS: katalogu nie można skasować, bo nie jest pusty.&lt;br /&gt;
|-&lt;br /&gt;
| 168 ($a8) || -88 || [[CIO]] || COMMAND INVALID FOR DISK || W instrukcji [[XIO]] został użyty niedozowolony kod rozkazu. Błąd ten występuje przy korzystaniu z urządzeń nie stanowiących części komputera: magnetofonu, stacji dysków, drukarki itp. Inne urządzenia sygnalizują błąd 132.&lt;br /&gt;
|-&lt;br /&gt;
| 169 ($a9) || -87 || [[CIO]] || DIRECTORY FULL (64 FILES) || Nie można zapisać na dyskietce nowego pliku, gdyż przekroczona zostałaby dopuszczalna ich liczba&lt;br /&gt;
|-&lt;br /&gt;
| 170 ($aa) || -86 || [[CIO]] || FILE NOT FOUND || Urządzenie nie może otworzyć pliku, bo plik o podanej nazwie nie istnieje.&lt;br /&gt;
|-&lt;br /&gt;
| 171 ($ab) || -85 || [[CIO]] || [[POINT]] INVALID || Błąd wykonania instrukcji POINT spowodowany niewłaściwymi parmetrami. Zły numer sektora lub bajtu albo plik nie został otwarty.&lt;br /&gt;
|-&lt;br /&gt;
| 172 ($ac) || -84 || [[CIO]] || BAD [[VTOC]] || Odczytywana dyskietka ma uszkodzony sektor zawierający mapę dyskietki. Najczęściej błąd ten jest spowodowany użyciem dyskietki zapisanej przez inny [[DOS]].&lt;br /&gt;
|-&lt;br /&gt;
| 173 ($ad) || -83 || [[CIO]] || BAD FORMAT || Odczytywana dyskietka ma uszkodzony sektor lub nie jest sformatowana. Często błąd ten jest spowodowany użyciem dyskietki zapisanej przez inny [[DOS]].&lt;br /&gt;
|-&lt;br /&gt;
| 174 ($ae) || -82 || [[CIO]] || DUPLICATE FILENAME || Użyto nazwy pliku już istniejącego na dyskietce podczas zmiany nazwy pliku, a czasem także w innych operacjach (zależnie do DOS-u).&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=2 | 175 ($af) || rowspan=2 | -81 || rowspan=2 | [[CIO]] || BAD LOAD FILE || Przy pomocy funkcji LOAD podjęto próbę odczytu pliku, który nie jest plikiem binarnym zapisanym w formacie DOS-u.&lt;br /&gt;
|-&lt;br /&gt;
| DIRECTORY NOT EMPTY || [[MyDOS]]: Nastąpiła próba usunięcia niepustego katalogu.&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=2 | 176 ($b0) || rowspan=2 | -80 || [[CIO]] || rowspan=2 | ACCESS DENIED || Niemożliwe jest odczytanie dyskietki (zabroniony dostęp). Zwykle błąd ten jest spowodowany użyciem dyskietki zapisanej przez inny DOS.&lt;br /&gt;
|-&lt;br /&gt;
| [[SIO]] || W [[SpartaDOS X]] 4.31: wykonanie żądanej funkcji systemowej jest niemożliwe z powodu niespełnienia przez program wymaganych warunków (np. wcześniejszego wywołania funkcji inicjującej).&lt;br /&gt;
|-&lt;br /&gt;
| 177 ($b1) || -79 || [[CIO]] || BAD DISK || Odczytywana dyskietka ma uszkodzony sektor lub nie jest sformatowana (wadliwa dyskietka). Często błąd ten jest spowodowany użyciem dyskietki zapisanej przez inny DOS.&lt;br /&gt;
|-&lt;br /&gt;
| 178 ($b2) || -78 || [[CIO]] || DATA NOT AVAILABLE || Żądane dane nie są w danej chwili dostępne. Nie jest to błąd, lecz informacja dla programu mówiąca nie, że danych nie ma wcale, ale nie można ich dostarczyć w tym konkretnie momencie (np. użytkownik nie nacisnął żadnego klawisza) i należy spróbować ponownie za jakiś czas.&lt;br /&gt;
|-&lt;br /&gt;
| 179 ($b3) || -77 || [[CIO]] || MEMORY CONFLICT || Nastąpiła próba zapisu w niedozwolonym obszarze pamięci. Kod wprowadzony w [[SpartaDOS X]] 4.31 i wyższych, gdzie sygnalizuje próbę załadowania programu do pamięci już zajętej, np. przez bibliotekę SDX lub sterowniki. Wystąpienie błędu może oznaczać konieczność załadowania programu za pomocą X.COM lub obniżenia MEMLO.&lt;br /&gt;
|-&lt;br /&gt;
| 180 ($b4) || -76 || [[CIO]] || NOT BINARY FILE || [[MyDOS]]: Wczytywany plik nie jest plikiem binarnym.&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=2 | 181 ($b5) || rowspan=2 | -75 || rowspan=2 | [[CIO]] || FILESYSTEM CORRUPT || DOS nie może wykonać żądanej operacji, bo struktura plików na dysku jest uszkodzona. Kod wprowadzony w [[SpartaDOS X]] 4.31.&lt;br /&gt;
|-&lt;br /&gt;
| INVALID ADDRESS RANGE FOR LOADING BINARY FILE || [[MyDOS]]&lt;br /&gt;
|-&lt;br /&gt;
| 182 ($b6) || -74 || [[CIO]] || PATH TOO LONG || Wielkość ścieżki dostępu przekracza dopuszczalną wartość (dla SpartaDOS X: 64 znaki).&lt;br /&gt;
|-&lt;br /&gt;
| 183 ($b7) || -73 || [[CIO]] || ENVIRONMENT FULL || Skończyła się pamięć przeznaczona na zmienne środowiskowe.&lt;br /&gt;
|-&lt;br /&gt;
|  ||  || ? || BOOT ERROR || Wstępny odczyt z kasety lub dyskietki ma nieprawidłowy przebieg. W przypadku użycia stacji dysków oznacza brak dyskietki, niezamkniętą stację dysków albo brak na dyskietce DOS-u lub samouruchamiającego się programu. Przy korzystaniu z magnetofonu sygnalizuje nieprawidłowe ustawienie taśmy, brak kasety lub niewciśnięcie klawisza &#039;&#039;&#039;PLAY&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Bibliografia==&lt;br /&gt;
* Atari Home Computer System Technical Reference Notes - Operating System User&#039;s Manual, s. 181&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Atari 8-bit]]&lt;br /&gt;
[[Kategoria:Programowanie Atari 8-bit]]&lt;/div&gt;</summary>
		<author><name>Xxl</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Dyskusja:Rejestry_POKEY-a&amp;diff=33918</id>
		<title>Dyskusja:Rejestry POKEY-a</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Dyskusja:Rejestry_POKEY-a&amp;diff=33918"/>
		<updated>2014-03-22T22:26:27Z</updated>

		<summary type="html">&lt;p&gt;Xxl: błąd w SKCTL&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Rejestr SKCTL jest błędnie opisany. http://atariage.com/forums/topic/223244-complete-documentation-of-pokey-serial-modes-skctrl/ [[Użytkownik:Xxl|Xxl]] 23:26, 22 mar 2014 (CET)&lt;/div&gt;</summary>
		<author><name>Xxl</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Ram-Cart&amp;diff=33196</id>
		<title>Ram-Cart</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Ram-Cart&amp;diff=33196"/>
		<updated>2013-05-07T20:52:26Z</updated>

		<summary type="html">&lt;p&gt;Xxl: programowanie&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{grafr|Ramcart.jpg}}&lt;br /&gt;
&lt;br /&gt;
Rozszerzenie pamięci [[RAM]] do Atari [[XL]]/[[XE]] występujące w formie [[cartridge]]&#039;a, produkowane przez łódzki zakład [[Unerring Masters]]. Pamięć jest podtrzymywana bateryjnie.&lt;br /&gt;
&lt;br /&gt;
Pierwowzorem układu był [[SiDiCar]].&lt;br /&gt;
&lt;br /&gt;
Obecnie układ można też spotkać w wersji z przyciskiem RESET oraz w formie &#039;&#039;&#039;Double Ram-Cart&#039;&#039;&#039;, który różni się od zwykłej wersji tym, że ma podwojoną liczbę układów pamięci - co daje już przyzwoitą pojemność - 256KB, a nawet (przy drobnych modyfikacjach) do 1MB.&lt;br /&gt;
&lt;br /&gt;
== 64KB ==&lt;br /&gt;
&lt;br /&gt;
RAM-CART 64k produkowany był w dwu wersjach różniących się zastosowaną pamięcią SRAM. Różnica polega na odmiennym sterowaniu wejściem zapisu E (/E),  stąd w wersji 2 (oznaczonej na schemacie) pojawiły sie dodatkowe bramki  logiczne 7403 typu  otwarty kolektor (OC).&lt;br /&gt;
&lt;br /&gt;
Płytka przygotowana była dla wersji 64k i 128k. W zależności od modelu dokonywano na niej modyfikacji.&lt;br /&gt;
Model 64k - tylko dwie pamięci SRAM, tylko dwa oporniki 10k, brak zwory łączącej pin 12 układu 74174 i pinami 11,12 układu 7402 oraz pinami 9, 12 układu 7403. Te cztery piny połączone są zworą do +5V.&lt;br /&gt;
&lt;br /&gt;
== 128KB ==&lt;br /&gt;
&lt;br /&gt;
Model 128k - nalutowane dwie dodatkowe pamięci SRAM, wlutowane dwa dodatkowe oporniki 10k, wlutowana zwora łączące pin 12 układu 74174 z pinami 11,12 układu 7402 oraz pinami 9, 12 układu 7403. Wejścia /CS dodatkowych pamięci połączone są odpowiednio z pinami 3, 6 układu 7403 (patrz schemat RAM-CART 128k wersja 2)&lt;br /&gt;
&lt;br /&gt;
RAM-CART 128k produkowany był w dwu wersjach różniących się zastosowaną pamięcią SRAM. Różnica polega na odmiennym sterowaniu wejściem zapisu E (/E),  stąd w wersji 2 (oznaczonej na schemacie) pojawiły sie dodatkowe bramki  logiczne 7403 typu  otwarty kolektor (OC).&lt;br /&gt;
&lt;br /&gt;
==Programowanie==&lt;br /&gt;
Rejestr sterujący układu znajduje się pod adresem $D500.&lt;br /&gt;
&lt;br /&gt;
- bit 0 włącza moduł w obszarze $A000 - $BFFF;&lt;br /&gt;
w trybie RO (odczytu): 0 włączony, 1 wyłączony a&lt;br /&gt;
w trybie RW (zapisu): 1 włączony, 0 wyłączony&lt;br /&gt;
&lt;br /&gt;
- bit 1 włącza moduł w obszarze $8000 - $9FFF;&lt;br /&gt;
1 włączony, 0 wyłączony&lt;br /&gt;
&lt;br /&gt;
- bit 2 ustawiony blokuje rejestr do momentu wyłączenia komputera&lt;br /&gt;
&lt;br /&gt;
- bity 3, 4 przełączają banki pamięci modułu 64K&lt;br /&gt;
&lt;br /&gt;
- bit 5 przełącza dodatkowy bank pamięci w module 128K&lt;br /&gt;
&lt;br /&gt;
==Bibliografia==&lt;br /&gt;
*[[KMK|Konrad Kokoszkiewicz]], &amp;quot;RAM-CARTRIDGE dla Atari XL/XE&amp;quot;, [http://atarionline.pl/biblioteka/czasopisma/Bajtek/Bajtek_1992_11.djvu Bajtek 11/1992] (w [[Atarionline.pl]]), s. 12-13&lt;br /&gt;
&lt;br /&gt;
== Schematy ==&lt;br /&gt;
&lt;br /&gt;
* [[:Grafika:RAMCART.png|Schemat wersji 64k]]&lt;br /&gt;
* [[:Grafika:RAMCART64v2.png|Schemat wersji 64k - wersja druga]]&lt;br /&gt;
* [[:Grafika:RAMCART128.png|Schemat wersji 128k - wersja oryginalna]]&lt;br /&gt;
* [[:Grafika:RAMCART128ZENON.png|Schemat wersji 128k - wersja zmodyfikowana, autorstwa Zenona/Dial]]&lt;br /&gt;
* [[:Grafika:RAMCART128kv2.png|Schemat wersji 128k - wersja druga]]&lt;br /&gt;
* [[:Grafika:DOUBLE.png|Schemat wersji 2x128k/256k - Double Ram-Cart]]&lt;br /&gt;
&lt;br /&gt;
==Odnośniki zewnętrzne==&lt;br /&gt;
* RAM-CART Handler - [[Tajemnice Atari|TA]] [http://tajemnice.atari8.info/10_93/10_93.html 10/93] - instaluje dodatkowy dysk używający RAM-Carta&lt;br /&gt;
* [http://www.serious-dial.atari.pl/softdial.html Dial Group - oprogramowanie]&lt;br /&gt;
* [http://www.serious-dial.atari.pl/artykuly/dblrc.html Double Ram-Cart - opis oprogramowania]&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;br /&gt;
[[Kategoria:Peryferia 8-bit]]&lt;br /&gt;
[[Kategoria:Schematy i specyfikacje]]&lt;/div&gt;</summary>
		<author><name>Xxl</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Dyskusja:Programowanie:_Jak_wy%C5%82%C4%85czy%C4%87_ROM_systemu&amp;diff=33003</id>
		<title>Dyskusja:Programowanie: Jak wyłączyć ROM systemu</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Dyskusja:Programowanie:_Jak_wy%C5%82%C4%85czy%C4%87_ROM_systemu&amp;diff=33003"/>
		<updated>2013-03-09T13:39:31Z</updated>

		<summary type="html">&lt;p&gt;Xxl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;(obszary: $c000-$cfff oraz $d800-$fff9) - do $fff9-$ffff też mamy dostęp. [[Użytkownik:Xxl|Xxl]] 08:44, 11 wrz 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
fakt, jednakze zastosowanie tych 6-ciu bajtow jest bardzo waskie. [[Użytkownik:Bob_er|Bob_er]] 13:25, 13 wrz 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
sądzę, że z formalnego punktu widzenia lepiej posługiwać się ostatnim adresem $ffff, a nie $fff9 - po pierwsze dlatego, że rozmawiamy o specyficznej architekturze Atari, a więc skupiamy się na sterowaniu dostępem do pamięci w Atari a nie znaczeniem tych komórek dla 6502, po drugie - tu również mamy do czynienia ze specyfiką Atari: ignorując przerwania IRQ możemy dowolnie korzystać z komórki od jego wektora - przerwań NMI nie zignorujemy, ale w Atari możemy zablokować ich źródło, zatem komórki są do naszego wykorzystania, pozostaje wektor RESET, którego wartość w RAM-ie i tam może być dowolna i ze względu na specyfikę konstrukcji Atari 6502 nigdy nie korzysta z komórek RAM-u &amp;quot;pod ROM&amp;quot; dla wektora RESET - bowiem podczas sprzętowego RESET-a przywracane są domyślne ustawienia układu PIA, który ustawia bity PORTB ($d301) tak, że ZAWSZE po resecie w tym obszarze będzie ROM i obsługa &amp;quot;reseta&amp;quot; nastąpi poprzez skok poprzez wartości umieszczone w ROM-ie. --[[Użytkownik:Macgyver|Macgyver]] 16:55, 13 wrz 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
poza tym specyfika systemu atari wymaga wyłączenia przerwań na czas włączenia w obszarze c000-cfff i d800-ffff RAM-u, i komórki fff9-ffff i tak są widoczne jako zwykła pamięc, zatem argumentacja, że &amp;quot;zastosowanie jest bardzo wąskie&amp;quot; i dlatego należy podawać adres końca fff9, a nie ffff według mnie wprowadza dużo zbędnego zamieszania. Pamięć jest w pełni mapowalna i dostępna dla CPU (Antica zresztą też), zatem nie używajmy oznaczenia fff9 tylko ffff --[[Użytkownik:Macgyver|Macgyver]] 22:37, 13 wrz 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
zapis do NMIRES (_no sta $d40f) w procedurze rozpoznawania przerwania jest zbędny.[[Użytkownik:Xxl|Xxl]] 14:39, 9 mar 2013 (CET)&lt;/div&gt;</summary>
		<author><name>Xxl</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Dyskusja:Rozszerzenie_arytmetyczne&amp;diff=32597</id>
		<title>Dyskusja:Rozszerzenie arytmetyczne</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Dyskusja:Rozszerzenie_arytmetyczne&amp;diff=32597"/>
		<updated>2012-10-12T19:31:42Z</updated>

		<summary type="html">&lt;p&gt;Xxl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Proponuje usunąć xywki, to są standardowe rozwiązania...[[Użytkownik:Xxl|Xxl]] 21:31, 12 paź 2012 (CEST)&lt;/div&gt;</summary>
		<author><name>Xxl</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Rozszerzenie_arytmetyczne&amp;diff=32594</id>
		<title>Rozszerzenie arytmetyczne</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Rozszerzenie_arytmetyczne&amp;diff=32594"/>
		<updated>2012-10-12T19:16:46Z</updated>

		<summary type="html">&lt;p&gt;Xxl: optymalizacja&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Kod dokonuje rozszerzenia arytmetycznego danej z rozmiaru bajtu do 16-bitowego słowa, tzn. powielenia bitu znaku tak, żeby z 8-bitowej wartości dodatniej powstała 16-bitowa wartość dodatnia, a z ujemnej - ujemna. Daną wejściową procedury - znajdującą się w akumulatorze - jest bajt do rozszerzenia. Daną wyjściową - do odebrania również w akumulatorze - jest starszy bajt 16-bitowego słowa powstałego po rozszerzeniu.&lt;br /&gt;
&lt;br /&gt;
    asl&lt;br /&gt;
    lda #0&lt;br /&gt;
    adc #$ff&lt;br /&gt;
    eor #$ff&lt;br /&gt;
&lt;br /&gt;
Druga szybsza i krótsza metoda&lt;br /&gt;
&lt;br /&gt;
    ora #$7f&lt;br /&gt;
    bmi _rts&lt;br /&gt;
    lda #$00&lt;br /&gt;
&lt;br /&gt;
Pomysł został zaprezentowany przez [[mono]].&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Niezbędnik kodera]]&lt;/div&gt;</summary>
		<author><name>Xxl</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=6502&amp;diff=32509</id>
		<title>6502</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=6502&amp;diff=32509"/>
		<updated>2012-10-01T09:12:30Z</updated>

		<summary type="html">&lt;p&gt;Xxl: /* &amp;quot;Zbędne&amp;quot; odczyty i zapisy */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Procesor]] produkowany przez [http://en.wikipedia.org/wiki/MOS_Technology MOS Technology]. Pierwszy raz wprowadzony do produkcji we wrześniu 1975 roku, wytwarzany przy wykorzystaniu technologii [http://en.wikipedia.org/wiki/MOSFET NMOS].&lt;br /&gt;
Procesor w odróżnieniu od innych rówieśników nie był budowany w oparciu o mikrokod, był wewnętrznie prostszy i mógł pracować z mniejszymi częstotliwościami zewnętrznymi (zwykle pomiędzy 1 a 2 MHz), osiągając przy tym porównywalną wydajność. Obniżało to koszt układów z nim współpracujących, wykorzystywanych w komputerze.&lt;br /&gt;
&lt;br /&gt;
== Parametry ==&lt;br /&gt;
* ośmiobitowa szyna danych&lt;br /&gt;
* szesnastobitowe adresowanie&lt;br /&gt;
* 56 udokumentowanych rozkazów&lt;br /&gt;
* 13 trybów adresowania&lt;br /&gt;
* jeden ośmiobitowy rejestr ogólnego przeznaczenia (A - akumulator)&lt;br /&gt;
* dwa ośmiobitowe rejestry indeksujące (X i Y)&lt;br /&gt;
* ośmiobitowy rejestr statusu - P&lt;br /&gt;
* ośmiobitowy wskaźnik stosu - S&lt;br /&gt;
* szesnastobitowy licznik programu - PC&lt;br /&gt;
&lt;br /&gt;
W przestrzeni adresowej 6502 jest wyróżniony obszar przeznaczony na stos - jest to obszar od $0100 do $01FF.&lt;br /&gt;
&lt;br /&gt;
== Błędy w 6502 ==&lt;br /&gt;
* dodawanie i odejmowanie w trybie dziesiętnym ustawia znaczniki N i Z nieodpowiednio dla uzyskanego wyniku dziesiętnego (odzwierciedlają one cząstkowy wynik binarny operacji, przed korekcją dziesiętną)&lt;br /&gt;
* rozkaz JMP ($xxFF) pobierze adres skoku z komórek $xxFF/$xx00 zamiast z $xxFF/$xy00.&lt;br /&gt;
* rejestr znaczników zapisany na stos przez PHP ma zawsze ustawiony bit B&lt;br /&gt;
=== Błędy związane z przerwaniami ===&lt;br /&gt;
* znaczniki są nieustalone po RESET&lt;br /&gt;
* wystąpienie przerwania nie wyłącza trybu dziesiętnego ALU&lt;br /&gt;
* wystąpienie przerwania podczas wykonywania rozkazu BRK spowoduje, że zostanie on zignorowany.&lt;br /&gt;
* jednoczesne wystąpienie przerwania [[NMI]] oraz [[IRQ]] powoduje, że to pierwsze zostanie zignorowane (jest to w zasadzie błąd w oryginalnej dokumentacji 6502, który spowodował, że sygnał NMI podawany przez układy specjalizowane zbudowane na jej podstawie - np. [[ANTIC (układ)|ANTIC]] - jest za krótki w stosunku do rzeczywistych wymagań procesora).&lt;br /&gt;
* obsługa przerwania NMI, które wystąpiło podczas wykonywania odgałęzienia (&amp;quot;wykonany&amp;quot; rozkaz Bxx), jest opóźniona do chwili zakończenia wykonywania rozkazu następnego po odgałęzieniu, zamiast rozpoczynać się w chwili zakończenia samego rozkazu odgałęzienia ([http://www.atariage.com/forums/topic/168550-a-taken-branch-before-nmi-delays-nmi-execution-by-one-full-instruction/ źródło]).&lt;br /&gt;
=== &amp;quot;Zbędne&amp;quot; odczyty i zapisy ===&lt;br /&gt;
* rozkazy typu &#039;&#039;read-modify-write&#039;&#039; (ASL, DEC, INC, LSR, ROL, ROR) wykonują dwa zapisy do modyfikowanej komórki pamięci, z czego za pierwszym razem procesor zapisuje odczytaną z komórki wartość.&lt;br /&gt;
* rozkazy w indeksowanym trybie adresowania (abs,X i abs,Y) dokonują dodatkowego odczytu spod niewłaściwego adresu, jeśli dodanie adresu bazowego i indeksu powoduje zwiększenie starszego bajtu adresu efektywnego (czyli jego &amp;quot;przejście&amp;quot; na następną stronę).&lt;br /&gt;
* wykonany rozkaz odgałęzienia (Bxx) powoduje dodatkowy odczyt spod niewłaściwego adresu, jeśli przeskok jest na sąsiednią stronę. &lt;br /&gt;
* występuje zbędny odczyt następnej po rozkazach BRK, RTS, RTI komórki pamięci.&lt;br /&gt;
&lt;br /&gt;
Błędów tych pozbawione są późniejsze wersje procesora, tj. [[65C02]] oraz [[65C816]].&lt;br /&gt;
&lt;br /&gt;
== Ciekawostki ==&lt;br /&gt;
* Procesor ma pewną liczbę [[Nieudokumentowane rozkazy 6502C|nieudokumentowanych rozkazów]]. Szczegóły działania części z nich zależą od konkretnej wersji procesora. Dlatego, mimo że zastępują one w niektórych przypadkach kilka rozkazów standardowych, nie jest zalecane ich używanie.&lt;br /&gt;
* Listing programu przeznaczony dla procesora 6502 był wykorzystany w filmie &amp;quot;The Terminator&amp;quot; (1984, pol. &#039;&#039;&#039;Elektroniczny Morderca&#039;&#039;&#039;) przy wyświetlaniu obrazu z kamery Terminatora T800 Model 101. Jest to listing programu dla komputera Apple II.&lt;br /&gt;
* Robot Bender, bohater serialu animowanego &#039;&#039;Futurama&#039;&#039;, będącego jedną z głównych atrakcji czwartego [[Sztab Małopolska|Sztabu Małopolska]], ma &amp;quot;mózg&amp;quot; zbudowany na procesorze 6502, o czym dowiadujemy się z odcinka pod tytułem &amp;quot;Fry &amp;amp; the Slurm Factory&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== 6502 w Atari ==&lt;br /&gt;
&lt;br /&gt;
Komputery serii [[400/800]] są wyposażone w układ 6502A lub 6502B. Są to &amp;quot;szybsze&amp;quot;, czyli przystosowane do pracy z szybszym zegarem, wersje 6502. Zwykły 6502 może działać z częstotliwością do 1 MHz, wersja A do 2 MHz, a wersja B do 3 MHz.&lt;br /&gt;
&lt;br /&gt;
Serie [[XL]] i [[XE]] mają jeszcze nieco zmodyfikowany procesor, znany jako [[6502C]]. Zmiana w stosunku do oryginału polega na dodaniu linii HALT, której uaktywnienie powoduje zatrzymanie procesora i odłączenie go od magistrali. W modelach 400/800 robił to oddzielny obwód złożony z elementów dyskretnych.&lt;br /&gt;
&lt;br /&gt;
Szybkość taktowania procesora w Atari zależy od tego, do jakiego systemu telewizji przystosowany jest komputer:&lt;br /&gt;
&lt;br /&gt;
* wersja NTSC: 1,789790 MHz lub (w [[XE]]) 1,7897725 MHz&lt;br /&gt;
* wersja PAL: 1,773447 MHz&lt;br /&gt;
* wersja SECAM: 1,7815 MHz (tylko [[XL]] i [[XE]])&lt;br /&gt;
&lt;br /&gt;
== Zobacz także ==&lt;br /&gt;
* [[6502C]]&lt;br /&gt;
* [[65C02]]&lt;br /&gt;
* [[65C816]]&lt;br /&gt;
* [[6507]]&lt;br /&gt;
* [[Przerwania]]&lt;br /&gt;
* [[NTSC vs PAL]]&lt;br /&gt;
* [http://oldcomputers.net/kim1.html Pierwszy mikrokomputer z 6502]&lt;br /&gt;
* [http://www.6502.org 6502.org]&lt;br /&gt;
* [http://www.cpu-collection.de/?tn=1&amp;amp;l0=cl&amp;amp;l1=650x Zdjęcia i specyfikacja na stronie cpu-collection.de]&lt;br /&gt;
* [http://krap.pl/mirrorz/atari/www.howell1964.freeserve.co.uk/parts/6502_CPU.htm 6502 CPU and variants]&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Atari 8-bit]]&lt;/div&gt;</summary>
		<author><name>Xxl</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Przerwania&amp;diff=32508</id>
		<title>Przerwania</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Przerwania&amp;diff=32508"/>
		<updated>2012-09-28T10:53:45Z</updated>

		<summary type="html">&lt;p&gt;Xxl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==6502==&lt;br /&gt;
&lt;br /&gt;
[[Procesor]]y [[6502]] i [[65C02]] obsługują 4 typy przerwań:&lt;br /&gt;
&lt;br /&gt;
* [[IRQ]] (żądanie przerwania - maskowalne)&lt;br /&gt;
* [[RESET]]&lt;br /&gt;
* [[NMI]] (żądanie przerwania - niemaskowalne)&lt;br /&gt;
* [[BRK]] (przerwanie programowe)&lt;br /&gt;
&lt;br /&gt;
W procesorze 6502 jest błąd polegający na tym, że jeśli przerwanie NMI i IRQ wystąpią jednocześnie, to pierwsze nie zostanie obsłużone. Zostało to poprawione w 65C02 (i jego następcy, 65C816).&lt;br /&gt;
&lt;br /&gt;
==65C816==&lt;br /&gt;
&lt;br /&gt;
Procesor [[65C816]] obsługuje sześć typów przerwań:&lt;br /&gt;
&lt;br /&gt;
* IRQ (żądanie przerwania - maskowalne)&lt;br /&gt;
* RESET&lt;br /&gt;
* NMI (żądanie przerwania - niemaskowalne)&lt;br /&gt;
* [[ABORT]]&lt;br /&gt;
* [[BRK]] (przerwanie programowe)&lt;br /&gt;
* [[COP]] (przerwanie programowe)&lt;br /&gt;
&lt;br /&gt;
W odpowiedzi na przerwanie procesor automatycznie kasuje znacznik D rejestru znaczników (przełącza ALU z trybu dziesiętnego w binarny), czego 6502 nie robi. Przerwanie RESET powoduje dodatkowo ustawienie znacznika E, czyli przełączenie procesora w tryb emulacji 6502.&lt;br /&gt;
&lt;br /&gt;
Różnica między obydwoma przerwaniami programowymi polega na tym, że BRK jest wektorowane oddzielnie w trybie natywnym, a w trybie emulacji jako IRQ, natomiast COP używa własnego wektora w obydwu trybach.&lt;br /&gt;
&lt;br /&gt;
==Zobacz też==&lt;br /&gt;
* [http://pl.wikipedia.org/wiki/Przerwanie Przerwanie] (pl.wiki)&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Menu Główne]]&lt;br /&gt;
[[Kategoria:Programowanie Atari 8-bit]]&lt;/div&gt;</summary>
		<author><name>Xxl</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=IRQ&amp;diff=32507</id>
		<title>IRQ</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=IRQ&amp;diff=32507"/>
		<updated>2012-09-28T10:52:20Z</updated>

		<summary type="html">&lt;p&gt;Xxl: /* Atari XL/XE */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Interrupt ReQuest - przerwanie maskowalne (a właściwie &#039;&#039;prośba o przerwanie&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
Rodzaj [[przerwania]], które [[procesor]] może zignorować, jeśli programista sobie tego zażyczy; a to w odróżnieniu od [[NMI]], które zignorowane być nie może.&lt;br /&gt;
&lt;br /&gt;
==Atari XL/XE==&lt;br /&gt;
&lt;br /&gt;
W procesorze [[6502]] i [[65C02]] główny [[wektor]] przerwania IRQ znajduje się pod adresem $FFFE.&lt;br /&gt;
&lt;br /&gt;
W procesorze [[65C816]] wektor ten jest pod $00FFFE, kiedy procesor jest w trybie emulacji 6502. W trybie natywnym 65C816 adres procedury obsługi IRQ pobierany jest spod $00FFEE.&lt;br /&gt;
&lt;br /&gt;
Źródłem przerwań IRQ jest:&lt;br /&gt;
&lt;br /&gt;
* układ [[POKEY]] (przerwania związane z transmisją [[SIO]], przerwania klawiatury, liczników)&lt;br /&gt;
* układ [[PIA]] (sygnały przerwań wyprowadzone na [[gniazdo SIO]])&lt;br /&gt;
* szyna równoległa (przerwania [[nowe urządzenia|nowych urządzeń]]) &lt;br /&gt;
&lt;br /&gt;
IRQ może zostać zablokowane przez ustawienie znacznika I w rejestrze znaczników procesora.&lt;br /&gt;
&lt;br /&gt;
=== Priorytety IRQ ===&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 IRQ. W Atari priorytet obsługi jest następujący (w kolejności od najwyższego do najniższego):&lt;br /&gt;
&lt;br /&gt;
* SERIN - Serial Input - przerwanie odczytu danych z szyny szeregowej&lt;br /&gt;
* PIRQ - Parallel IRQ - przerwanie wywołane przez nowe urządzenia (tylko XL/XE)&lt;br /&gt;
* SEROUT - Serial Output - przerwanie zapisu na szynę szeregową&lt;br /&gt;
* XMTDONE - Transmit Done - przerwanie końca transmisji szeregowej&lt;br /&gt;
* TIMER1 - przerwanie zegara nr 1 układu POKEY&lt;br /&gt;
* TIMER2 - przerwanie zegara nr 2 układu POKEY&lt;br /&gt;
* TIMER4 - przerwanie zegara nr 4 układu POKEY&lt;br /&gt;
* KBDIRQ - Keyboard IRQ - przerwanie klawiatury&lt;br /&gt;
* BREAKIRQ - Break key IRQ - przerwanie klawisza Break&lt;br /&gt;
* PROCEED - przerwanie wywołane przez PORT A układu PIA; sygnał ten wyprowadzony jest na gniazdo SIO jako pin &#039;&#039;PROCEED&#039;&#039;;&lt;br /&gt;
* INTER - przerwanie wywołane przez PORT B układu PIA; sygnał ten wyprowadzony jest na gniazdo SIO jako pin &#039;&#039;INTERRUPT&#039;&#039;;&lt;br /&gt;
* BRKIRQ - Break IRQ - przerwanie programowe wywołane rozkazem BRK;&lt;br /&gt;
&lt;br /&gt;
===BRK w trybie natywnym 65C816===&lt;br /&gt;
W 65C816 rozkaz BRK powoduje wystąpienie przerwania IRQ tylko wtedy, kiedy procesor jest w trybie emulacji 6502. W trybie natywnym przerwanie BRK ma osobny wektor (pod adresem $00FFE6).&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Programowanie Atari 8-bit]]&lt;/div&gt;</summary>
		<author><name>Xxl</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=BRK&amp;diff=32506</id>
		<title>BRK</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=BRK&amp;diff=32506"/>
		<updated>2012-09-28T10:51:28Z</updated>

		<summary type="html">&lt;p&gt;Xxl: do poprawy&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[BRK]] - skrót od &#039;&#039;Break&#039;&#039; - programowe przerwanie w procesorach [[6502]]/[[65C02]] i [[65C816]], wywoływane przez rozkaz BRK. W procesorze 6502, 65C02 oraz 65C816 pracującym w trybie emulacji wektorowane wspólnie z przerwaniem [[IRQ]], natomiast 65C816 pracujący w trybie natywnym wektorowane przez $00FFE6.&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Programowanie Atari 8-bit]]&lt;/div&gt;</summary>
		<author><name>Xxl</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Action!&amp;diff=32466</id>
		<title>Action!</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Action!&amp;diff=32466"/>
		<updated>2012-09-20T16:48:38Z</updated>

		<summary type="html">&lt;p&gt;Xxl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{grafr|action.gif}}&lt;br /&gt;
Strukturalny, kompilowany język programowania dla ośmiobitowych Atari. Dzieło programisty [[OSS]] nazwiskiem Clinton Parker, sprzedawane od 1983 roku pod marką &#039;&#039;Action Computer Services&#039;&#039;. Właścicielem praw autorskich było kolejno [[OSS]], [[ICD]], a w końcu [[FTe]].&lt;br /&gt;
&lt;br /&gt;
Action! łączy w sobie cechy [[C]] i [[Pascal]]a, czyli wygodę programowania z całkiem szybkim kodem wynikowym. Składnia Action! była wzorowana na języku [http://en.wikipedia.org/wiki/ALGOL_68 ALGOL 68]. Niemałą zaletą Action! jest dość wygodny, pełnoekranowy edytor. W języku tym napisano sporo programów użytkowych (np. [[DiskRx]]), gier, np. [[Problem Jasia]] czy nawet utwory do gier (np. w [[Tanks]], [[Battle Ships]], Scorpions v2.0).&lt;br /&gt;
&lt;br /&gt;
Oryginalna wersja języka występuje na [[cartridge]]&#039;u, ale krążyła też niemal w pełni funkcjonalna wersja dyskowa. Język na cartridge&#039;u zajmował 16k - w czterech bankach po 4k (z czego jeden bank zawsze zajmował B000-BFFF, a reszta była podmieniana pod A000-AFFF)  - zajmującym w sumie te same adresy, co interpreter Atari BASIC, tj. $A000-$BFFF.&lt;br /&gt;
&lt;br /&gt;
Ciekawostką jest spora biblioteka procedur krążąca w sieci, dzięki czemu Action! stał się bardzo rozbudowanym i elastycznym narzędziem pracy dla programistów.&lt;br /&gt;
&lt;br /&gt;
Znane osobistości używające Action! to: [[Jakub Husak]], [[Gizmo Magic]], [[tdc]].&lt;br /&gt;
&lt;br /&gt;
== Typy danych ==&lt;br /&gt;
&lt;br /&gt;
W Action! występują trzy typy danych numerycznych: BYTE, CARD i INT. BYTE to ośmiobitowa liczba całkowita bez znaku, CARD - 16-bitowa liczba całkowita bez znaku, INT - 16-bitowa liczba całkowita ze znakiem. Pozostałe typy to CHAR, ARRAY, POINTER i typy deklarowane przez użytkownika, np.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
TYPE CORD=[CARD x,y]&lt;br /&gt;
 CORD point&lt;br /&gt;
 point.x=42&lt;br /&gt;
 point.y=23&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Lista słów kluczowych ==&lt;br /&gt;
&lt;br /&gt;
 AND     FI       OR       UNTIL&lt;br /&gt;
 ARRAY   FOR      POINTER  WHILE&lt;br /&gt;
 BYTE    FUNC     PROC     XOR&lt;br /&gt;
 CARD    IF       RETURN&lt;br /&gt;
 CHAR    INCLUDE  RSH&lt;br /&gt;
 DEFINE  INT      SET&lt;br /&gt;
 DO      LSH      STEP&lt;br /&gt;
 ELSE    MOD      THEN&lt;br /&gt;
 ELSEIF  MODULE   TO&lt;br /&gt;
 EXIT    OD       TYPE&lt;br /&gt;
&lt;br /&gt;
== Lista rozpoznawanych symboli ==&lt;br /&gt;
&lt;br /&gt;
 =   -   *   /&lt;br /&gt;
 &amp;amp;   %   =&amp;lt;  &amp;lt;&amp;gt;&lt;br /&gt;
 &amp;gt;   &amp;lt;=  $   !&lt;br /&gt;
 (   )   .   [&lt;br /&gt;
 ]   &amp;quot;   &#039;   ;&lt;br /&gt;
 @&lt;br /&gt;
&lt;br /&gt;
== Lista procedur bibliotecznych ==&lt;br /&gt;
&lt;br /&gt;
 Break     LIST      PrintCD   SCompare   Close    Locate&lt;br /&gt;
 PrintCDE  SCopy     color     MoveBlock  PrintCE  SCopyS&lt;br /&gt;
 device    Note      PrintD    SetBlock   DrawTo   Open&lt;br /&gt;
 PrintDE   SetColor  EOF       Paddle     PrintE   SndRst&lt;br /&gt;
 Error     Peek      PrintF    Bound      Fill     PeekC&lt;br /&gt;
 PrintI    Stick     GetD      Plot       PrintID  StrB&lt;br /&gt;
 Graphics  Point     PrintIDE  StrC       InputB   Poke&lt;br /&gt;
 PrintIE   StrI      InputBD   PokeC      Ptrig    Strig&lt;br /&gt;
 InputC    Position  Put       TRACE      InputCD  Print&lt;br /&gt;
 PutD      ValB      InputI    PrintB     PutDE    ValC&lt;br /&gt;
 InputID   PrintBD   PutE      ValI       InputMD  PrintBDE&lt;br /&gt;
 Rand      XIO       InputS    PrintBE    SAssign  Zero&lt;br /&gt;
 InputSD   PrintC&lt;br /&gt;
&lt;br /&gt;
== Cechy języka ==&lt;br /&gt;
&lt;br /&gt;
Program pisze się w edytorze, kompiluje natomiast w tzw. monitorze, który ma też pewne funkcje ułatwiające debugging. Edytor jest pełnoekranowy, pole edycyjne można podzielić na dwa niezależne &amp;quot;okna&amp;quot;. Możliwości edytora obejmują kopiowanie bloków, wyszukiwanie i zastępowanie tekstów itp.&lt;br /&gt;
&lt;br /&gt;
Kompilator Action! jest jednoprzebiegowy, kod źródłowy jest kompilowany z pamięci, co dodatnio wpływa na szybkość kompilatora, ujemnie natomiast na maksymalną wielkość programu. Do obejścia tego problemu można wielopoziomowo wykorzystywać polecenia &#039;&#039;include&#039;&#039;. Trzeba tu dodać, że Action! to jeden z najszybszych kompilatorów dostępnych dla ośmiobitowego Atari.&lt;br /&gt;
&lt;br /&gt;
Wszystkie obliczenia dokonywane są w trybie liczb całkowitych ze znakiem. Język nie przewiduje wstawek w asemblerze w postaci mnemoników, podprogramy maszynowe muszą być załączane w postaci tablic wypełnionych stałymi szesnastkowymi lub dziesiętnymi.&lt;br /&gt;
&lt;br /&gt;
Zmienne lokalne w Action! są alokowane pod stałymi adresami w pamięci, a nie na stosie, co z jednej strony daje bardziej wydajny kod wynikowy, a z drugiej uniemożliwia stosowanie rekurencji.&lt;br /&gt;
&lt;br /&gt;
== Przykład kodu ==&lt;br /&gt;
&lt;br /&gt;
Przykładowa procedura na [http://pl.wikipedia.org/wiki/Sito_Eratostenesa sito Eratostenesa] napisana w Action!:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 BYTE RTCLOK=20, ; addr of sys timer&lt;br /&gt;
      SDMCTL=559 ; DMA control&lt;br /&gt;
 &lt;br /&gt;
 BYTE ARRAY FLAGS(8190)&lt;br /&gt;
 &lt;br /&gt;
 CARD COUNT,I,K,PRIME,TIME&lt;br /&gt;
 &lt;br /&gt;
 PROC SIEVE()&lt;br /&gt;
 &lt;br /&gt;
   SDMCTL=0 ; shut off Antic&lt;br /&gt;
   RTCLOK=0 ; only one timer needed&lt;br /&gt;
 &lt;br /&gt;
   COUNT=0         ; init count&lt;br /&gt;
   FOR I=0 TO 8190 ; and flags&lt;br /&gt;
     DO&lt;br /&gt;
     FLAGS(I)=&#039;T&lt;br /&gt;
     OD&lt;br /&gt;
 &lt;br /&gt;
   FOR I=0 TO 8190 ; and flags&lt;br /&gt;
     DO&lt;br /&gt;
     IF FLAGS(I)=&#039;T THEN&lt;br /&gt;
       PRIME=I+I+3&lt;br /&gt;
       K=I+PRIME&lt;br /&gt;
       WHILE K&amp;lt;=8190&lt;br /&gt;
         DO&lt;br /&gt;
         FLAGS(K)=&#039;F&lt;br /&gt;
         K==+PRIME&lt;br /&gt;
         OD&lt;br /&gt;
       COUNT==+1&lt;br /&gt;
     FI&lt;br /&gt;
     OD&lt;br /&gt;
   TIME=RTCLOK ; get timer reading&lt;br /&gt;
   SDMCTL=34   ; restore screen&lt;br /&gt;
 &lt;br /&gt;
   PRINTF(&amp;quot;%E %U PRIMES IN&amp;quot;,COUNT)&lt;br /&gt;
   PRINTF(&amp;quot;%E %U JIFFIES&amp;quot;,TIME)&lt;br /&gt;
 RETURN&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sprawdzenie wersji ==&lt;br /&gt;
Odczyt komórki pamięci $B000 w oryginalnym cartridge-u pozwala uzyskać numer rewizji ACTION! Przykładowo: &#039;&#039;&#039;? $B000&#039;&#039;&#039; da w wyniku czterocyfrową liczbę szesnastkową, której ostatnie cyfry oznaczają numer rewizji. W wersji wydanej piracko przez Atrax wygląda to następująco:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
45056,$B000 = 6, $0136 54 310&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
z czego wynika że jest to wersja 1, rewizja 3.6. W sieci dostępny jest obraz cartridge-a z wersją 02.. (numer odczytany z emulatora). Prawdopodobnie można też znaleźć inne.&lt;br /&gt;
&lt;br /&gt;
Dokładniejsze testy wersji wykazały jednak, że wszystkie dostępne w sieci obrazy cartridge-y Action! mają dokładnie ten sam kod, różniący się wyłącznie opisem w dolnej części ekranu edytora oraz zawartością owej komórki $B000, przez co nie można na niej polegać. Prawdopodobnie spowodowane jest to specyfiką ówczesnego rynku, który przy ograniczonej dostępności do źródeł oprogramowania tworzył własne wersje programów (nowości sprzedawały się znacznie lepiej).&lt;br /&gt;
&lt;br /&gt;
== Ciekawostki ==&lt;br /&gt;
* Istnieją wersje na cartridge&#039;ach datowane na 1986 oraz 1987 rok, bez nazwy producenta/developera w komunikacie na dole ekranu. Prawdopodobnie ta ostatnia jest wersją z poprawkami, wydaną przez FTe, ale nie jest to informacja potwierdzona. Bliższa analiza natomiast wykazała brak różnic z wersją z 1983 roku, z wyjątkiem wyświetlanego komunikatu oraz zmienionej zawartości komórki $B000.&lt;br /&gt;
* Powstały projekty będące próbą przeniesienia kompilatora języka Action! na komputery osobiste:&lt;br /&gt;
**[[Effectus]], którego autorem jest [[Bostjan Gorisek]]&lt;br /&gt;
**[[Action! compiler]] napisany przez [[Jim Patchell|Jima Patchella]]&lt;br /&gt;
&lt;br /&gt;
== Linki zewnętrzne ==&lt;br /&gt;
* [http://www.cyberroach.com/analog/an16/action.htm Oficjalny opis języka]&lt;br /&gt;
* [http://atariwiki.strotmann.de/wiki/Wiki.jsp?page=ACTION Strona z masą źródłówek]&lt;br /&gt;
* [http://atariki.krap.pl/images/2/29/Action_cheat_sheet.pdf Szybka podpowiedź]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Action! Hasło Action!] na en.wikipedia.org&lt;br /&gt;
* [http://pl.wikipedia.org/wiki/Action! Hasło Action!] na pl.wikipedia.org&lt;br /&gt;
* [http://gury.atari8.info/effectus/ Strona domowa Effectus]&lt;br /&gt;
* [http://www.noniandjim.com/Jim/atari/Action_Compiler.html Strona domowa Action! compiler]&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Oprogramowanie Atari 8-bit]]&lt;br /&gt;
[[Kategoria:Języki programowania]]&lt;/div&gt;</summary>
		<author><name>Xxl</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Dyskusja:Game_Link_II&amp;diff=32458</id>
		<title>Dyskusja:Game Link II</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Dyskusja:Game_Link_II&amp;diff=32458"/>
		<updated>2012-09-15T20:43:12Z</updated>

		<summary type="html">&lt;p&gt;Xxl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Zgodnie z zaleceniami KMK - artykuły piszemy w języku polskim. Do poprawki. &lt;br /&gt;
&lt;br /&gt;
* Zdublowane z multilink. Proponuję jeden z artykułów wyrzucić.&lt;br /&gt;
--[[Wikipedysta:Sikor|Sikor]] 11:26, 17 mar 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
:Nie są zdublowane, hasło MultiLink to redir wskazujący tutaj. [[Wikipedysta:KMK|KMK]] 10:29, 21 mar 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Artykuł Jiri Bernaska o pisaniu gier dla GameLink II w linku jest zahasłowany na serwerze krap.pl [[Użytkownik:Xxl|Xxl]] 22:43, 15 wrz 2012 (CEST)&lt;/div&gt;</summary>
		<author><name>Xxl</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Nieudokumentowane_rozkazy_6502C&amp;diff=32427</id>
		<title>Nieudokumentowane rozkazy 6502C</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Nieudokumentowane_rozkazy_6502C&amp;diff=32427"/>
		<updated>2012-09-02T18:34:55Z</updated>

		<summary type="html">&lt;p&gt;Xxl: /* CIEKAWOSTKI */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Listę niepublikowanych kodów (zwanych również rozkazami nielegalnymi) [[6502C]] [[SALLY]] można podzielić na dwie grupy. [[Nieudokumentowane_rozkazy_6502C#KODY STABILNE|Kody stabilne]] (&amp;lt;span style=&amp;quot;color: green&amp;quot;&amp;gt;zielone&amp;lt;/span&amp;gt;) działają na wszystkich komputerach Atari serii [[XL]]/[[XE]] oraz tej części modeli [[400]]/[[800]], w której montowano procesor [[6502C]] [[SALLY]], natomiast [[Nieudokumentowane_rozkazy_6502C#KODY NIESTABILNE|kody niestabilne]] (&amp;lt;span style=&amp;quot;color: red&amp;quot;&amp;gt;czerwone&amp;lt;/span&amp;gt;) na procesorze [[6502C]] działają w sposób nieprzewidywalny.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot;&lt;br /&gt;
! width=&amp;quot;65px&amp;quot; | KOD !! width=&amp;quot;65px&amp;quot; | +00 !! +01 !! width=&amp;quot;65px&amp;quot; | +02 !! width=&amp;quot;65px&amp;quot; | +03 !! width=&amp;quot;65px&amp;quot; | +04 !! +05 !! +06 !! width=&amp;quot;65px&amp;quot; | +07 !! +08 !! width=&amp;quot;65px&amp;quot; | +09 !! width=&amp;quot;65px&amp;quot; | +0A !! width=&amp;quot;65px&amp;quot; | +0B !! width=&amp;quot;65px&amp;quot; | +0C !! +0D !! width=&amp;quot;65px&amp;quot; | +0E !! width=&amp;quot;65px&amp;quot; | +0F&lt;br /&gt;
|-&lt;br /&gt;
! +00 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | ASO (Z,X) || style=&amp;quot;color:GREEN&amp;quot; | DOP Z ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ANC #n || style=&amp;quot;color:GREEN&amp;quot; | TOP Q ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Q&lt;br /&gt;
|-&lt;br /&gt;
! +10 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | ASO (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | ASO Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +20 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RLN (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ANC #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Q&lt;br /&gt;
|-&lt;br /&gt;
! +30 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RLN (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | RLN Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +40 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | LSE (Z,X) || style=&amp;quot;color:GREEN&amp;quot; | DOP Z ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ALR #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Q    &lt;br /&gt;
|-&lt;br /&gt;
! +50 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | LSE (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | LSE Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +60 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RRD (Z,X) || style=&amp;quot;color:GREEN&amp;quot; | DOP Z ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ARR #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Q&lt;br /&gt;
|-&lt;br /&gt;
! +70 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RRD (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | RRD Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +80 || style=&amp;quot;color:GREEN&amp;quot; | DOP #n ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n || style=&amp;quot;color:GREEN&amp;quot; | SAX (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SAX Z ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n ||     || style=&amp;quot;color:RED&amp;quot; | ANE #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SAX Q&lt;br /&gt;
|-&lt;br /&gt;
! +90 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:RED&amp;quot; | SHA (Z),Y||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SAX Z,Y ||     ||     ||     || style=&amp;quot;color:RED&amp;quot; | SHS Q,Y || style=&amp;quot;color:GREEN&amp;quot; | SHY Q,X ||     || style=&amp;quot;color:GREEN&amp;quot; | SHX Q,Y || style=&amp;quot;color:RED&amp;quot; | SHA Q,Y &lt;br /&gt;
|-&lt;br /&gt;
! +A0 ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Z ||     ||     ||     || style=&amp;quot;color:RED&amp;quot; | ANX #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Q&lt;br /&gt;
|-&lt;br /&gt;
! +B0 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | LAX (Z),Y ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Z,Y ||     ||     ||     || style=&amp;quot;color:RED&amp;quot; | LAS Q,Y ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Q,Y &lt;br /&gt;
|-&lt;br /&gt;
! +C0 ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n || style=&amp;quot;color:GREEN&amp;quot; | DCP (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SBX #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Q&lt;br /&gt;
|-&lt;br /&gt;
! +D0 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | DCP (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | DCP Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Q,X  &lt;br /&gt;
|-&lt;br /&gt;
! +E0 ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n || style=&amp;quot;color:GREEN&amp;quot; | ISB (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SBC #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Q&lt;br /&gt;
|-&lt;br /&gt;
! +F0 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | ISB (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | ISB Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Q,X &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Legenda:&lt;br /&gt;
&amp;lt;br&amp;gt;n - dane w trybie natychmiastowym,&lt;br /&gt;
&amp;lt;br&amp;gt;Q - adres dwubajtowy,&lt;br /&gt;
&amp;lt;br&amp;gt;Z - adres jednobajtowy danych lub adresu pośredniego,&lt;br /&gt;
&amp;lt;br&amp;gt;* - dodać cykl przy zmianie strony.&lt;br /&gt;
&amp;lt;br&amp;gt;Użyto mnemoników stosowanych w makroassemblerze [[MADS]] oraz monitorze emulatora [[Atari800Win_PLus|Atari800Win PLus]].&lt;br /&gt;
&lt;br /&gt;
== KODY STABILNE ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ANC / ANC&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej. Znacznik C ustawiany tak jak N.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
| ANC #n || $0B || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ANC #n || $2B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SAX / SAX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND pomiędzy A i rejestrem X, wynik zapisuje w pamięci. Rejestry A i X pozostają niezmienione.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SAX Z || $87 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|SAX Z,Y || $97 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|SAX (Z,X) || $83 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|SAX Q || $8F || 3 || 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ALR / ALR&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej, następnie LSR @.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ALR #n || $4B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SBX / SBX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND pomiędzy rejestrem X i A, wynik w rejestrze X.&lt;br /&gt;
Znacznik C ustawiany gdy zawartość rejestru X jest większa lub równa danej.&lt;br /&gt;
Od rejestru X odejmuje daną (bez pożyczki).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SBX #n || $CB || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;DCM / DCP&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Zmniejsza o jeden wartość bajtu pamięci następnie wykonuje CMP na A i tej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|DCP Z || $C7 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|DCP Z,X || $D7 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|DCP Q || $CF || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|DCP Q,X || $DF || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|DCP Q,Y || $DB || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|DCP (Z,X) || $C3 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|DCP (Z),Y || $D3 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;INS / ISB&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Zwiększa o jeden zawartość pamięci. Od A odejmuje wartość pamięci (z pożyczką).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ISB Z || $E7 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|ISB Z,X || $F7 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ISB Q || $EF || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ISB Q,X || $FF || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ISB Q,Y || $FB || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ISB (Z,X) || $E3 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|ISB (Z),Y || $F3 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NOP / NPO&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Niepublikowany NOP&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $1A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $3A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $5A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $7A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $DA || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $FA || 1 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NOP / NPO (DOP)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Dwubajtowy NOP&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z || $04 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $14 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $34 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z || $44 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $54 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z || $64 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $74 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $80 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $82 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $89 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $C2 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $D4 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $E2 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $F4 || 2 || 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NOP / NPO (TOP)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Trzybajtowy NOP&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q || $0C || 3 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $1C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $3C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $5C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $7C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $DC || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $FC || 3 || 4 *&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SBC / SBC (?)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Niepublikowany SBC #n.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SBC #n || $EB || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;LAX / LAX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Załaduje daną do A i rejestru X.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|LAX Z || $A7 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|LAX Z,Y || $B7 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|LAX Q || $AF || 3 || 4&lt;br /&gt;
|-&lt;br /&gt;
|LAX Q,Y || $BF || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|LAX (Z,X) || $A3 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|LAX (Z),Y || $B3 || 2 || 5 *&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;RLA / RLN&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje ROL na pamięci, następnie AND z A (wynik w A).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|RLN Z || $27 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|RLN Z,X || $37 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RLN Q || $2F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RLN Q,X || $3F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RLN Q,Y || $3B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RLN (Z,X) || $23 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|RLN (Z),Y || $33 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;RRA / RRD&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje ROR na pamięci, następnie ADC z A (wynik w A).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|RRD Z || $67 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|RRD Z,X || $77 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RRD Q || $6F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RRD Q,X || $7F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RRD Q,Y || $7B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RRD (Z,X) || $63 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|RRD (Z),Y || $73 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ASO / ASO&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje ASL na pamięci, następnie ORA z A (wynik w A).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ASO Z || $07 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|ASO Z,X || $17 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ASO Q || $0F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ASO Q,X || $1F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ASO Q,Y || $1B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ASO (Z,X) || $03 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|ASO (Z),Y || $13 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;LSE / LSE&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje LSR na pamięci, następnie EOR z A (wynik w A). &lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|LSE Z || $47 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|LSE Z,X ||$57 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|LSE Q || $4F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|LSE Q,X || $5F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|LSE Q,Y || $5B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|LSE (Z,X) || $43 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|LSE (Z),Y || $53 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHX / SHX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do starszego bajtu adresu dodaje jeden i wykonuje AND z rejestrem X.&lt;br /&gt;
Tak otrzymaną wartość zapisuje w pamięci.&lt;br /&gt;
Jeśli nastąpiło przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHX Q,Y || $9E || 3 || 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHY / SHY&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do starszego bajtu adresu dodaje jeden i wykonuje AND z rejestrem Y.&lt;br /&gt;
Tak otrzymana wartość zapisuje w pamięci.&lt;br /&gt;
Jeśli nastąpiło przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHY Q,X || $9C || 3 || 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ARR / ARR&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Gdy znacznik D=0 rozkaz działa następująco:&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej po czym ROR.&lt;br /&gt;
&amp;lt;br&amp;gt;Znacznik C wpisuje do b7, b6 do znacznika C, do V b6 EOR b5.&lt;br /&gt;
&amp;lt;br&amp;gt;Gdy znacznik D=1 rozkaz:&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej (cząstkowy wynik w postaci młodszego i starszego nibbla przechowuje) następnie wykonuje ROR @.&lt;br /&gt;
&amp;lt;br&amp;gt;Jeśli wartość młodszego nibbla cząstkowego wyniku powiększona o jego b0 będzie większa lub równa od 5 to &lt;br /&gt;
młodszy nibbel wyniku w A zostanie zwiększony o 6, przy czym cząstkowe przeniesienie do starszego nibbla zostanie utracone.&lt;br /&gt;
&amp;lt;br&amp;gt;Podobnie starszy nibbel cząstkowego wyniku, jeśli wartość po zwiększeniu o b0 będzie większa lub równa 5&lt;br /&gt;
to starszy nibbel wyniku w A zwiększony będzie o 6 a dodatkowo znacznik C zostanie ustawiony, jeśli nie było korekty&lt;br /&gt;
starszego nibbla wyniku znacznik C będzie skasowany.&lt;br /&gt;
&amp;lt;br&amp;gt;Flaga V ustawiona gdy w b6 zmieni swoj stan po AND i ROR, kasowany w przeciwnym wypadku.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ARR #n || $6B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== KODY NIESTABILNE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;CIM / CIM&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Blokuje procesor.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $02 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $12 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $22 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $32 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $42 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $52 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $62 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $72 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $92 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $B2 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $D2 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $F2 || 1 || -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHA / SHA&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do starszego bajtu adresu dodaje jeden i wykonuje AND z A, następnie AND z rejestrem X.&lt;br /&gt;
Tak otrzymaną wartość zapisuje w pamięci.&lt;br /&gt;
Jeśli nastąpi przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHA Q,Y || $9F || 3 || 5&lt;br /&gt;
|-&lt;br /&gt;
|SHA (Z),Y || $93 || 2 || 6&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHS / SHS&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do rejestru S zapisuje wynik operacji A AND X następnie do starszego bajtu adresu dodaje&lt;br /&gt;
jeden, wykonuje AND z S i zapisuje wynik w pamięci.&lt;br /&gt;
Jeśli nastąpi przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHS Q,Y || $9B || 3 || 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;LAS / LAS&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na zawartości pamięci i rejestru S, wynik zapisuje w rejestrach A, X, S.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|LAS Q,Y || $BB || 3 || 4 *&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ANE / ANE&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki procesora ustawiane są wg. operacji argument AND A.&lt;br /&gt;
&amp;lt;br&amp;gt;Rozkaz najpierw wykonuje sumę logiczną argumentu i wartości $EF, następnie operacji AND na rejestrze X i wyniku. W kolejnym kroku z tak otrzymaną wartością wykona AND z A. Wynik w A. &lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ANE #n || $8B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ANX / ANX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje operację argument AND A, wynik zapisuje w A oraz rejetrze X.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ANX #n || $AB || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== CIEKAWOSTKI ==&lt;br /&gt;
*Rozkazy niepublikowane stabilne użyte zostały w grach: [[Alex]], [[Alley Cat]], Flinstone&#039;s Adventures, [[Gallahad]], Ghastly Night, Indiana Jones - The Last Crusade, Jurassic Park, Landscape, Leader Board, Nexuss, [[Riot]], SOS Saturn, Terminator, [[Vanguard]]; programach demonstracyjnych: Deary, Film Editor, Platfus Demo, Rolex, Rolex 2, Rolex 3, Rolex IV, Szczemp Sex Demo.&lt;br /&gt;
*Rozkazy niepublikowane niestabilne użyte zostały w grze G.I.L.P.; programach: 6502 Illegal Codes Test (Krógera). &lt;br /&gt;
*Bracia Selinger używali niepublikowanych rozkazów we wszystkich swoich grach. &lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Atari 8-bit]]&lt;/div&gt;</summary>
		<author><name>Xxl</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Atari_OS&amp;diff=32404</id>
		<title>Atari OS</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Atari_OS&amp;diff=32404"/>
		<updated>2012-08-05T20:42:21Z</updated>

		<summary type="html">&lt;p&gt;Xxl: /* Odnośniki zewnętrzne */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{OS}}&lt;br /&gt;
System operacyjny, w który wyposażane były ośmiobitowe komputery Atari [[400]] i [[800]]. Zajmował 10k i znajdował się w obszarze $D800-$FFFF. Komputery [[XL]] i [[XE]] wyposażono w znacznie ulepszony i rozszerzony system operacyjny, znany jako [[XL OS]].&lt;br /&gt;
&lt;br /&gt;
==Autorzy==&lt;br /&gt;
Na podst. źródeł [[XL OS]] rev. 5[http://www.atariage.com/forums/topic/78579-a800ossrc/page__view__findpost__p__961535]:&lt;br /&gt;
* &#039;&#039;&#039;rev. A&#039;&#039;&#039;: [[David Crane]], [[Alan Miller]], [[Larry Kaplan]], [[Bob Whitehead]]&lt;br /&gt;
* &#039;&#039;&#039;rev. B&#039;&#039;&#039;: Michael P. Mahar, R. Scott Scheiman&lt;br /&gt;
&lt;br /&gt;
==Elementy składowe==&lt;br /&gt;
Na Atari OS składają się następujące elementy:&lt;br /&gt;
* procedury obsługi [[przerwania|przerwań]]&lt;br /&gt;
* [[CIO]]&lt;br /&gt;
* [[SIO]]&lt;br /&gt;
* [[pakiet matematyczny]]&lt;br /&gt;
&lt;br /&gt;
==Wersje==&lt;br /&gt;
Znane są 3 wersje tego systemu:&lt;br /&gt;
*&amp;quot;OS 255&amp;quot; - montowana w bardzo wczesnych egzemplarzach, nazwana tak ponieważ w tej wersji pod adresem 65528 ($FFF8) znajduje się wartość 255 ($FF). Zawierała błąd w procedurze odczytu z taśmy, polegający na braku 8-sekundowej przerwy od momentu uruchomienia silnika magnetofonu do rozpoczęcia właściwego odczytu. Atari dołączało do instrukcji magnetofonu [[410]] wkładkę z instrukcją radzenia sobie z problemem.[http://mcurrent.name/os255/410insert-os255.htm][http://mcurrent.name/os255/softside.htm] Obraz ROM tej wersji nie jest obecnie dostępny.&lt;br /&gt;
*rev. A - montowana we wczesnych egzemplarzach wersji NTSC komputerów i wszystkich egzemplarzach wersji PAL. System różni się nieznacznie w wersjach NTSC i PAL; różnice dotyczą procedur zliczających upływ czasu w komunikacji z urządzeniami zewnętrznymi. Pod adresem 65528 ($FFF8) jest 221 ($DD) w wersji NTSC i 214 ($D6) w wersji PAL.&lt;br /&gt;
*rev. B. - montowana w późniejszych egzemplarzach komputerów w wersji NTSC. Pod adresem 65528 ($FFF8) jest wartość 243 ($F3). Kartridż [[CPS SuperSALT]] z 1983 roku - a więc z okresu po zakończeniu produkcji serii 400/800 - nie zawiera kodu odpowiedzialnego za wykrywanie rev. B PAL systemu[http://www.atariage.com/forums/topic/141632-atari-rev-b-pal-rom-file/page__view__findpost__p__2096246](wykrywa natomiast pozostałe 3 wersje, a także system [[XL OS]]), co sugeruje, że wersja PAL rev. B nie była dostępna na rynku. Z drugiej strony dokument &amp;quot;Atari Operating System Manual - XL Addendum&amp;quot; zawiera opis wykrycia systemu PAL rev. B wraz z jego sumą kontrolną, co wskazuje, że w którymś momencie istniał prototyp systemu w tej wersji. Wersję PAL rev. B można samodzielnie odtworzyć korzystając z kodu źródłowego opublikowanego przez Atari - co zostało zrobione np. [http://www.atariage.com/forums/topic/141632-atari-rev-b-pal-rom-file/page__view__findpost__p__2094090 tu].&lt;br /&gt;
&lt;br /&gt;
==Odnośniki zewnętrzne==&lt;br /&gt;
* [http://members.chello.nl/taf.offenga/atari_dev.htm Atari 8-bit Developers Page] - strona [[Frankenstein|Freddy&#039;ego Offengi]], z której można ściągnąć ROM-y Atari OS&lt;br /&gt;
* [http://members.chello.nl/taf.offenga/osroms.txt Informacje o systemach operacyjnych] na stronie Freddy&#039;ego Offengi&lt;br /&gt;
* [http://www.atariage.com/forums/topic/201133-os-source-code-all-revisions/ Paczka z kodami źródłowymi AtariOS] przygotowanymi przez [[Krótki|Krótkiego]]&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Menu Główne]]&lt;br /&gt;
[[Kategoria:Oprogramowanie Atari 8-bit]]&lt;/div&gt;</summary>
		<author><name>Xxl</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Atari_OS&amp;diff=32403</id>
		<title>Atari OS</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Atari_OS&amp;diff=32403"/>
		<updated>2012-08-05T20:22:44Z</updated>

		<summary type="html">&lt;p&gt;Xxl: /* Odnośniki zewnętrzne */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{OS}}&lt;br /&gt;
System operacyjny, w który wyposażane były ośmiobitowe komputery Atari [[400]] i [[800]]. Zajmował 10k i znajdował się w obszarze $D800-$FFFF. Komputery [[XL]] i [[XE]] wyposażono w znacznie ulepszony i rozszerzony system operacyjny, znany jako [[XL OS]].&lt;br /&gt;
&lt;br /&gt;
==Autorzy==&lt;br /&gt;
Na podst. źródeł [[XL OS]] rev. 5[http://www.atariage.com/forums/topic/78579-a800ossrc/page__view__findpost__p__961535]:&lt;br /&gt;
* &#039;&#039;&#039;rev. A&#039;&#039;&#039;: [[David Crane]], [[Alan Miller]], [[Larry Kaplan]], [[Bob Whitehead]]&lt;br /&gt;
* &#039;&#039;&#039;rev. B&#039;&#039;&#039;: Michael P. Mahar, R. Scott Scheiman&lt;br /&gt;
&lt;br /&gt;
==Elementy składowe==&lt;br /&gt;
Na Atari OS składają się następujące elementy:&lt;br /&gt;
* procedury obsługi [[przerwania|przerwań]]&lt;br /&gt;
* [[CIO]]&lt;br /&gt;
* [[SIO]]&lt;br /&gt;
* [[pakiet matematyczny]]&lt;br /&gt;
&lt;br /&gt;
==Wersje==&lt;br /&gt;
Znane są 3 wersje tego systemu:&lt;br /&gt;
*&amp;quot;OS 255&amp;quot; - montowana w bardzo wczesnych egzemplarzach, nazwana tak ponieważ w tej wersji pod adresem 65528 ($FFF8) znajduje się wartość 255 ($FF). Zawierała błąd w procedurze odczytu z taśmy, polegający na braku 8-sekundowej przerwy od momentu uruchomienia silnika magnetofonu do rozpoczęcia właściwego odczytu. Atari dołączało do instrukcji magnetofonu [[410]] wkładkę z instrukcją radzenia sobie z problemem.[http://mcurrent.name/os255/410insert-os255.htm][http://mcurrent.name/os255/softside.htm] Obraz ROM tej wersji nie jest obecnie dostępny.&lt;br /&gt;
*rev. A - montowana we wczesnych egzemplarzach wersji NTSC komputerów i wszystkich egzemplarzach wersji PAL. System różni się nieznacznie w wersjach NTSC i PAL; różnice dotyczą procedur zliczających upływ czasu w komunikacji z urządzeniami zewnętrznymi. Pod adresem 65528 ($FFF8) jest 221 ($DD) w wersji NTSC i 214 ($D6) w wersji PAL.&lt;br /&gt;
*rev. B. - montowana w późniejszych egzemplarzach komputerów w wersji NTSC. Pod adresem 65528 ($FFF8) jest wartość 243 ($F3). Kartridż [[CPS SuperSALT]] z 1983 roku - a więc z okresu po zakończeniu produkcji serii 400/800 - nie zawiera kodu odpowiedzialnego za wykrywanie rev. B PAL systemu[http://www.atariage.com/forums/topic/141632-atari-rev-b-pal-rom-file/page__view__findpost__p__2096246](wykrywa natomiast pozostałe 3 wersje, a także system [[XL OS]]), co sugeruje, że wersja PAL rev. B nie była dostępna na rynku. Z drugiej strony dokument &amp;quot;Atari Operating System Manual - XL Addendum&amp;quot; zawiera opis wykrycia systemu PAL rev. B wraz z jego sumą kontrolną, co wskazuje, że w którymś momencie istniał prototyp systemu w tej wersji. Wersję PAL rev. B można samodzielnie odtworzyć korzystając z kodu źródłowego opublikowanego przez Atari - co zostało zrobione np. [http://www.atariage.com/forums/topic/141632-atari-rev-b-pal-rom-file/page__view__findpost__p__2094090 tu].&lt;br /&gt;
&lt;br /&gt;
==Odnośniki zewnętrzne==&lt;br /&gt;
* [http://members.chello.nl/taf.offenga/atari_dev.htm Atari 8-bit Developers Page] - strona [[Frankenstein|Freddy&#039;ego Offengi]], z której można ściągnąć ROM-y Atari OS&lt;br /&gt;
* [http://members.chello.nl/taf.offenga/osroms.txt Informacje o systemach operacyjnych] na stronie Freddy&#039;ego Offengi&lt;br /&gt;
* [http://www.atariage.com/forums/topic/201133-os-source-code-all-revisions/ Paczka z kodami źródłowymi AtariOS] przygotowana przez [[Krótki|Krótkiego]]&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Menu Główne]]&lt;br /&gt;
[[Kategoria:Oprogramowanie Atari 8-bit]]&lt;/div&gt;</summary>
		<author><name>Xxl</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=ANTIC_Display_List&amp;diff=32393</id>
		<title>ANTIC Display List</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=ANTIC_Display_List&amp;diff=32393"/>
		<updated>2012-07-25T06:51:29Z</updated>

		<summary type="html">&lt;p&gt;Xxl: /* Ciekawostki */  to nie była prawda. jeśli trzeba więcej info na prv.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[ANTIC Display List|Display List]] (DL) jest programem wyświetlania dla procesora graficznego [[ANTIC (układ)|ANTIC]], stosowanego w [[Atari 8-bit]].&lt;br /&gt;
&lt;br /&gt;
==Położenie w pamięci==&lt;br /&gt;
&lt;br /&gt;
Display List jest wskazywana przez [[rejestry ANTIC-a#DLPTR|rejestr DLPTR $D402-$D403]]. Rejestr ten 50 razy na sekundę jest zapisywany zawartością rejestru-cienia DLPTRS ($0230-$0231) przez procedurę [[SYSVBL]]. Dlatego do poinformowania [[ANTIC (układ)|ANTIC-a]] o położeniu DL na ogół wystarcza wstawienie jej adresu do DLPTRS.&lt;br /&gt;
&lt;br /&gt;
Licznik programu ANTIC-a jest co prawda szesnastobitowy, ale podczas wykonywania DL pobieranie rozkazów zmienia tylko dziesięć jego najmłodszych bitów; w związku z tym po przekroczeniu granicy 1 KB pobieranie dalszych rozkazów DL jest kontynuowane od początku bloku 1 KB. Np. jeśli umieścimy początek DL pod adresem $43F0, to po pobraniu 16 bajtów DL, kolejne zostaną pobrane począwszy od $4000.&lt;br /&gt;
&lt;br /&gt;
Aby ominąć tę niedogodność, można użyć rozkazu JMP do ponownego załadowania całego licznika. Wadą takiego rozwiązania jest wyświetlenie jednej pustej linii na ekranie (generuje ją rozkaz JMP). Można tego uniknąć przez programową zmianę wartości rejestru [[Rejestry ANTIC-a#DLPTR|DLPTR]] w linii, po której program ANTIC-a przekroczy granicę 1 kilobajta.&lt;br /&gt;
&lt;br /&gt;
==Struktura==&lt;br /&gt;
&lt;br /&gt;
DL jest ciągiem rozkazów [[ANTIC (układ)|ANTIC]]-a. Rozkazy są jednobajtowe (adresowanie implikowane) lub trzybajtowe (adresowanie absolutne).&lt;br /&gt;
&lt;br /&gt;
Na początku DL występują rozkazy tworzenia pustych linii, które tworzą górny margines ekranu, czyli tzw. górną ramkę. Jeśli istnienie tej ramki jest niepożądane, te rozkazy można pominąć. Następny musi być rozkaz ładowania wskaźnika pamięci obrazu (LMS). Jest on jednocześnie rozkazem tworzenia linii trybu graficznego. LMS ma szesnastobitowy argument określający adres, pod którym ma się zaczynać pierwsza linia tworzonego obrazu.&lt;br /&gt;
&lt;br /&gt;
Po LMS, jeśli pamięć obrazu ma tworzyć ciągły obszar, następują jednobajtowe rozkazy tworzenia linii trybu graficznego, po jednym na każdą linię. W przeciwnym wypadku, jeśli kolejne linie obrazu nie leżą w pamięci bezpośrednio jedna po drugiej, zamiast rozkazów tworzenia linii trybu trzeba stosować rozkazy LMS. Wynika z tego, że praktycznie maksymalny rozmiar pojedynczej DL to 720 bajtów: 239 rozkazów LMS tworzących tyleż linii trybu [[Graphics 8|GRAPHICS 8]] rozrzuconych po całej pamięci, plus rozkaz JVB na końcu. Normalnie DL dla ekranu w tym trybie ma 202 bajty.&lt;br /&gt;
&lt;br /&gt;
DL musi się kończyć rozkazem JVB tylko w przypadku gdy wyświetlamy na ekranie mniej niż 240 linii. Jego argumentem jest adres początku DL, która będzie wykonywana w następnej &amp;quot;ramce&amp;quot; TV. Może to być ta sama lista, ale może być też zupełnie inna, zależnie od potrzeb. Stworzywszy łańcuch DL dla kolejno załadowanych do pamięci obrazów, w którym to łańcuchu kolejne listy będą rozkazem JVB wskazywać na następne, a ostatnia na pierwszą, można stworzyć efekt poklatkowej animacji bez angażowania [[CPU]].&lt;br /&gt;
&lt;br /&gt;
==Rozkazy DL==&lt;br /&gt;
&lt;br /&gt;
Jak wspomniano powyżej, Display List jest w istocie programem odłożonym w pamięci komputera i wykonywanym przez mikroprocesor graficzny 50 razy na sekundę. Rozkazy Display List dzielą się na następujące grupy:&lt;br /&gt;
&lt;br /&gt;
* rozkazy tworzenia linii trybu graficznego&lt;br /&gt;
* rozkazy tworzenia linii pustych&lt;br /&gt;
* rozkazy ładowania wskaźnika pamięci ekranu&lt;br /&gt;
* rozkazy skoków&lt;br /&gt;
&lt;br /&gt;
Czternaście rozkazów tworzenia linii trybu graficznego (lub znakowego) zostało pokrótce omówionych poniżej. [[ANTIC (układ)|ANTIC]] interpretuje rozkazy w trakcie tworzenia obrazu, rozkazy tworzenia linii trybu pobierane są sukcesywnie pomiędzy generowaniem poszczególnych linii obrazu. Sprawia to, że mieszanie ze sobą różnych trybów wyświetlania nie sprawia żadnych trudności, póki jedna linia pozioma obrazu zajmowana jest przez 1 tryb graficzny. Umieściwszy w Display List kolejno wszystkie rozkazy tworzenia linii trybu uzyskuje się je wszystkie na raz, wyświetlane jeden pod drugim, w kolejnych liniach poziomych obrazu.&lt;br /&gt;
&lt;br /&gt;
Numer trybu graficznego zakodowany jest w dolnych czterech bitach rozkazu. Starsze cztery bity wybierają - niezależnie od siebie nawzajem oraz niezależnie dla każdej linii trybu - dodatkowe atrybuty obrazu, to jest:&lt;br /&gt;
&lt;br /&gt;
* bit 7, DLI&lt;br /&gt;
* bit 6, LMS&lt;br /&gt;
* bit 5, przesuw pionowy&lt;br /&gt;
* bit 4, przesuw poziomy&lt;br /&gt;
&lt;br /&gt;
Ustawienie bitu DLI powoduje, że podczas tworzonej właśnie linii skaningowej zostanie wygenerowane [[przerwania|przerwanie]] [[DLI]], LMS natomiast przekształca rozkaz w rozkaz ładowania wskaźnika pamięci ekranu, jak opisano poniżej.&lt;br /&gt;
&lt;br /&gt;
===LMS===&lt;br /&gt;
&lt;br /&gt;
Rozkazem ładowania wskaźnika pamięci ekranu (LMS - Load Memory Scan) może być każdy z rozkazów tworzenia linii trybu. Uzyskuje się to przez ustawienie bitu 6 kodu rozkazu oraz podanie adresu danych obrazu w dwóch następnych bajtach. W efekcie dane obrazu nie muszą być odłożone w pamięci sekwencyjnie - wystarczy, żeby sekwencję stanowiły bajty składające się na pojedynczą linię obrazu. Wynika z tego, że uzyskanie organizacji pamięci obrazu takiej jak w [http://en.wikipedia.org/wiki/Acorn_Electron Acorn Electron], [http://en.wikipedia.org/wiki/Amstrad_CPC Amstrad CPC], [http://en.wikipedia.org/wiki/Apple_II_series#Apple_II Apple II], [http://en.wikipedia.org/wiki/BBC_Micro BBC Micro], [http://en.wikipedia.org/wiki/Commodore_64 C64], [http://en.wikipedia.org/wiki/ZX_Spectrum ZX Spectrum] albo wyświetlenie całości lub części obrazka do góry nogami to tylko kwestia napisania odpowiedniej Display List i podania [[ANTIC (układ)|ANTIC-owi]] wskaźnika do niej.&lt;br /&gt;
&lt;br /&gt;
Jedyna restrykcja, jaką [[ANTIC (układ)|ANTIC]] narzuca co do ulokowania danych obrazu jest taka, że dane dla pojedynczej linii trybu graficznego nie mogą przecinać granicy bloku 4 KB. Licznik adresujący pamięć obrazu ma co prawda 16 bitów, ale podczas normalnej pracy [[ANTIC (układ)|ANTIC]] zmienia tylko 12 najmłodszych bitów - dlatego po dojechaniu do końca bloku 4 KB zacznie pobierać nie to, co znajduje się dalej, ale to, co znajduje się na początku tego bloku (czyli, ów licznik, przepełni się). Jeśli pamięć obrazu ma przekraczać 4 KB, Display List musi być ułożona tak, żeby na granicy bloków czterokilobajtowych wypadał koniec jednej linii trybu, a następna zaczynała się już poza tą granicą. Do utworzenia tej drugiej linii musi zostać użyty rozkaz LMS, który przeładowuje całe 16 bitów wspomnianego licznika &amp;quot;przerzucając&amp;quot; tym samym [[ANTIC (układ)|ANTIC]] do następnego bloku 4 KB.&lt;br /&gt;
&lt;br /&gt;
===JMP i JVB===&lt;br /&gt;
&lt;br /&gt;
$01 jest to rozkaz skoku JMP pod adres podany w następnych dwóch bajtach Display List. Rozkaz ten tworzy oprócz tego - przed skokiem - jedną pustą linię obrazu. Ustawienie bitu 7 powoduje jeszcze wygenerowanie przerwania [[DLI]], natomiast ustawienie bitu 6 przekształca rozkaz JMP w JVB (Jump and wait for Vertical Blank). Różnica jest taka, że po wykonaniu skoku JVB ANTIC czeka z wykonywaniem dalszych rozkazów na impuls synchronizacji pionowej. Rozkaz taki - skoku z oczekiwaniem na synchronizację pionową - powinien kończyć Display List i jednocześnie &amp;quot;uruchamiać&amp;quot; ją od początku.&lt;br /&gt;
&lt;br /&gt;
===Przesuw obrazu===&lt;br /&gt;
&lt;br /&gt;
Rozkazy $10 i $20 powodują odpowiednio: włączenie poziomego i pionowego przesuwu ekranu. Mogą one występować równocześnie w jednej linii Display List, ale trzeba mieć na uwadze, że przy włączonym szerokim ekranie w liniach niektórych trybów mogą wystąpić zniekształcenia.&lt;br /&gt;
&lt;br /&gt;
====HSCRL====&lt;br /&gt;
&lt;br /&gt;
Włączenie poziomego przesuwu powoduje, że treść linii Display List będzie przesuwana w lewo o 16-n cykli koloru według zawartości bitów 0..3 rejestru [[Rejestry ANTIC-a#HSCROL|HSCROL]] tak, jak to zobrazowano poniżej:&lt;br /&gt;
&lt;br /&gt;
Przykładowa treść 8 linii ekranowych bez przesunięcia&lt;br /&gt;
                   1 1      2 2      3&lt;br /&gt;
   0      7 8      5 6      3 4      1 - kolejna dana w linii&lt;br /&gt;
 0 ........ ........ ........ ........ &lt;br /&gt;
   ...oo... .ooooo.. ..oooo.. .oooo... &lt;br /&gt;
   ..oooo.. .oo..oo. .oo..oo. .oo.oo.. &lt;br /&gt;
   .oo..oo. .ooooo.. .oo..... .oo..oo. &lt;br /&gt;
   .oo..oo. .oo..oo. .oo..... .oo..oo. &lt;br /&gt;
   .oooooo. .oo..oo. .oo..oo. .oo.oo.. &lt;br /&gt;
   .oo..oo. .ooooo.. ..oooo.. .oooo... &lt;br /&gt;
 7 ........ ........ ........ ........ &lt;br /&gt;
 linia ekranowa (skaningowa)&lt;br /&gt;
&lt;br /&gt;
Przykładowa treść 8 linii ekranowych z przesunięciem o 1 cykl koloru&lt;br /&gt;
                   1 1      2 2    2&lt;br /&gt;
   0      7 8      5 6      3 4    9 - kolejna dana w linii&lt;br /&gt;
 0 ........ ........ ........ ......xx &lt;br /&gt;
   .oo....o oooo.... oooo...o ooo...xx&lt;br /&gt;
   oooo...o o..oo..o o..oo..o o.oo..xx &lt;br /&gt;
   o..oo..o oooo...o o......o o..oo.xx &lt;br /&gt;
   o..oo..o o..oo..o o......o o..oo.xx &lt;br /&gt;
   ooooo..o o..oo..o o..oo..o o.oo..xx &lt;br /&gt;
   o..oo..o oooo.... oooo...o ooo...xx &lt;br /&gt;
 7 ........ ........ ........ ......xx &lt;br /&gt;
 linia ekranowa (skaningowa)&lt;br /&gt;
&lt;br /&gt;
Po włączeniu przesuwu poziomego linia, niezależnie od ustawienia szerokości ekranu w [[Rejestry ANTIC-a#DMACTL|rejestrze DMACTL]], będzie miała logiczną szerokość, jak dla obrazu szerokiego, czyli:&lt;br /&gt;
&lt;br /&gt;
* 48 bajtów dla trybów [[Graphics 0|0 OS]], [[ANTIC Display List#Tryby znakowe|3 ANTIC]], [[Graphics 7|7 OS]], [[Graphics 8|8 OS]], [[Graphics 9|9 OS]], [[Graphics 10|10 OS]], [[Graphics 11|11 OS]], [[Graphics 12|12 OS]], [[Graphics 13|13 OS]] i [[Graphics 15|15 OS]],&lt;br /&gt;
* 24 bajty dla [[Graphics 1|1 OS]], [[Graphics 2|2 OS]], [[Graphics 5|5 OS]], [[Graphics 6|6 OS]] i [[Graphics 14|14 OS]],&lt;br /&gt;
* 12 bajtów dla [[Graphics 3|3 OS]], [[Graphics 4|4 OS]].&lt;br /&gt;
&lt;br /&gt;
Ponieważ w różnych trybach jeden piksel na szerokość zajmuje różną ilość cykli koloru, tak więc przesunięcie treści ekranu o cykl koloru jest równoważne z przesunięciem o piksel wyłącznie w trybach [[Graphics 1|1 OS]] i [[Graphics 2|2 OS]], [[Graphics 6|6 OS]], [[Graphics 7|7 OS]], [[Graphics 12|12 OS]], [[Graphics 13|13 OS]], [[Graphics 14|14 OS]] i [[Graphics 15|15 OS]].&lt;br /&gt;
&lt;br /&gt;
Przykładowa treść 8 linii ekranowych w trybie średniej rozdzielczości z przesunięciem o 1 cykl koloru&lt;br /&gt;
                  11 11 11 11 11 22 22 22 22 22&lt;br /&gt;
   01 23 45 67 89 01 23 45 67 89 01 23 45 67 89 - kolejna dana w linii&lt;br /&gt;
 0 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. xx &lt;br /&gt;
   .o o. .. .o oo oo .. .. oo oo .. .o oo o. .. xx&lt;br /&gt;
   oo oo .. .o o. .o o. .o o. .o o. .o o. oo .. xx &lt;br /&gt;
   o. .o o. .o oo oo .. .o o. .. .. .o o. .o o. xx &lt;br /&gt;
   o. .o o. .o o. .o o. .o o. .. .. .o o. .o o. xx &lt;br /&gt;
   oo oo o. .o o. .o o. .o o. .o o. .o o. oo .. xx &lt;br /&gt;
   o. .o o. .o oo oo .. .. oo oo .. .o oo o. .. xx &lt;br /&gt;
 7 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. xx &lt;br /&gt;
 :                               1  1  1  1  1&lt;br /&gt;
 : 0  1  2  3  4  5  6  7  8  9  0  1  2  3  4 - piksel&lt;br /&gt;
 linia ekranowa (skaningowa)&lt;br /&gt;
&lt;br /&gt;
W trybach wysokiej rozdzielczości [[Graphics 0|0 OS]], [[ANTIC Display List#Tryby znakowe|3 ANTIC]] i [[Graphics 8|8 OS]], gdzie jeden piksel ma szerokość połowy cyklu koloru, przesunięcie o cykl koloru przesuwa treść obrazu o 2 piksele.&lt;br /&gt;
&lt;br /&gt;
Przykładowa treść 8 linii ekranowych w trybie wysokiej rozdzielczości z przesunięciem o 1 cykl koloru&lt;br /&gt;
                   1 1      2 2    2&lt;br /&gt;
   0      7 8      5 6      3 4    9 - kolejna dana w linii&lt;br /&gt;
 0 ........ ........ ........ ......xx &lt;br /&gt;
   .oo....o oooo.... oooo...o ooo...xx&lt;br /&gt;
   oooo...o o..oo..o o..oo..o o.oo..xx &lt;br /&gt;
   o..oo..o oooo...o o......o o..oo.xx &lt;br /&gt;
   o..oo..o o..oo..o o......o o..oo.xx &lt;br /&gt;
   ooooo..o o..oo..o o..oo..o o.oo..xx &lt;br /&gt;
   o..oo..o oooo.... oooo...o ooo...xx &lt;br /&gt;
 7 ........ ........ ........ ......xx &lt;br /&gt;
 :            111111 11112222 222222&lt;br /&gt;
 : 01234567 89012345 67890123 456789 - piksel&lt;br /&gt;
 linia ekranowa (skaningowa)&lt;br /&gt;
&lt;br /&gt;
W trybach niskiej rozdzielczości [[Graphics 3|3 OS]], [[Graphics 4|4 OS]] i [[Graphics 5|5 OS]], gdzie jeden piksel ma szerokość 2 lub 4 cykli koloru, przesunięcie o cykl koloru przesuwa treść obrazu o pół, lub ćwierć ([[Graphics 3|3 OS]]) piksela bez zmiany interpretacji wartości piksela, jak ma to miejsce w trybach [[GTIA|GTIA]].&lt;br /&gt;
&lt;br /&gt;
W trybach [[GTIA|GTIA]] ([[Graphics 9|9 OS]], [[Graphics 10|10 OS]] i [[Graphics 11|11 OS]]), gdzie piksel ma szerokość 2 cykli koloru dopiero przesunięcie o 2 cykle koloru prowadzi do przesunięcia ekranu o piksel. Ponieważ przesuwaniem treści obrazu zajmuje się [[ANTIC (układ)|ANTIC]], zanim jeszcze [[GTIA|GTIA]] nałoży nań informację o kolorach, więc przesuwanie treści o 1 cykl koloru skutkuje zmianą wartości pikseli na ekranie, jak poniżej:&lt;br /&gt;
&lt;br /&gt;
Przykładowa treść 8 linii ekranowych trybu GTIA bez przesunięcia&lt;br /&gt;
                1 1  1 1  1 2  2 2  2 2  3&lt;br /&gt;
   0  3 4  7 8  1 2  5 6  9 0  3 4  7 8  1 - kolejna dana w linii&lt;br /&gt;
 0 .... .... .... .... .... .... .... .... &lt;br /&gt;
   ...o o... .ooo oo.. ..oo oo.. .ooo o... &lt;br /&gt;
   ..oo oo.. .oo. .oo. .oo. .oo. .oo. oo.. &lt;br /&gt;
   .oo. .oo. .ooo oo.. .oo. .... .oo. .oo. &lt;br /&gt;
   .oo. .oo. .oo. .oo. .oo. .... .oo. .oo. &lt;br /&gt;
   .ooo ooo. .oo. .oo. .oo. .oo. .oo. oo.. &lt;br /&gt;
   .oo. .oo. .ooo oo.. ..oo oo.. .ooo o... &lt;br /&gt;
 7 .... .... .... .... .... .... .... .... &lt;br /&gt;
 : 0    1    2    3    4    5    6    7 - piksel&lt;br /&gt;
 linia ekranowa (skaningowa)&lt;br /&gt;
&lt;br /&gt;
Przykładowa treść 8 linii ekranowych trybu GTIA z przesunięciem o 1 cykl koloru&lt;br /&gt;
                1 1  1 1  1 2  2 2  2 2&lt;br /&gt;
   0  3 4  7 8  1 2  5 6  9 0  3 4  7 8 - kolejna dana w linii&lt;br /&gt;
 0 .... .... .... .... .... .... .... ..xx &lt;br /&gt;
   .oo. ...o oooo .... oooo ...o ooo. ..xx&lt;br /&gt;
   oooo ...o o..o o..o o..o o..o o.oo ..xx &lt;br /&gt;
   o..o o..o oooo ...o o... ...o o..o o.xx &lt;br /&gt;
   o..o o..o o..o o..o o... ...o o..o o.xx &lt;br /&gt;
   oooo o..o o..o o..o o..o o..o o.oo ..xx &lt;br /&gt;
   o..o o..o oooo .... oooo ...o ooo. ..xx &lt;br /&gt;
 7 .... .... .... .... .... .... .... ..xx &lt;br /&gt;
 : 0    1    2    3    4    5    6    7 - piksel&lt;br /&gt;
 linia ekranowa (skaningowa)&lt;br /&gt;
&lt;br /&gt;
====VSCRL====&lt;br /&gt;
&lt;br /&gt;
Uaktywnienie pionowego przesuwu ekranu w linii Display List skutkuje przesunięciem treści ekranu o n linii ekranowych (skaningowych) w górę zależnie od wartości znajdującej się w bitach 0..3 [[Rejestry ANTIC-a#VSCROL|rejestru VSCROL]].&lt;br /&gt;
&lt;br /&gt;
Dla potrzeb następnych wyjaśnień załóżmy, że Display List skonstruowany jest następująco:&lt;br /&gt;
&lt;br /&gt;
 dlist:&lt;br /&gt;
   $70        : 8 pustych linii&lt;br /&gt;
   $62 screen : LMS + VSCRL + tryb 2&lt;br /&gt;
   $02        : tryb 2&lt;br /&gt;
   $02        : tryb 2&lt;br /&gt;
   $41 dlist  : JVB&lt;br /&gt;
&lt;br /&gt;
Kiedy przesunięcie jest mniejsze niż liczba linii zajmowanych przez linię trybu Display List, wtedy linia trybu Display List następująca bezpośrednio po sekcji przesuwanej zostaje &amp;quot;ściśnięta&amp;quot; do jednej linii ekranowej i uczestniczy w wyświetlaniu przesuwanej treści. &lt;br /&gt;
&lt;br /&gt;
Przykładowa treść 3 linii trybu wysokiej rozdzielczości Display List gdy VSCROL=4&lt;br /&gt;
                    1 1      2 2      3&lt;br /&gt;
    0      7 8      5 6      3 4      1 - kolejna dana w linii&lt;br /&gt;
  0 .oo..oo. .oo..oo. .oo..... .oo..oo.&lt;br /&gt;
    .oooooo. .oo..oo. .oo..oo. .oo.oo.. &lt;br /&gt;
    .oo..oo. .ooooo.. ..oooo.. .oooo... &lt;br /&gt;
    ........ ........ ........ ........ &lt;br /&gt;
    ........ ........ ........ ........ - pierwsza linia Display List z VSCRL &lt;br /&gt;
    ...oo... .ooooo.. ..oooo.. .oooo... &lt;br /&gt;
    ..oooo.. .oo..oo. .oo..oo. .oo.oo.. &lt;br /&gt;
  7 .oo..oo. .ooooo.. .oo..... .oo..oo. &lt;br /&gt;
 &lt;br /&gt;
  8 .oo..oo. .oo..oo. .oo..... .oo..oo. - pierwsza linia Display List bez VSCRL (&amp;quot;ściśnięta&amp;quot; do jednej linii ekranowej)&lt;br /&gt;
 &lt;br /&gt;
  9 ........ ........ ........ ........ &lt;br /&gt;
    ...oo... .ooooo.. ..oooo.. .oooo... &lt;br /&gt;
    ..oooo.. .oo..oo. .oo..oo. .oo.oo.. &lt;br /&gt;
    .oo..oo. .ooooo.. .oo..... .oo..oo. &lt;br /&gt;
    .oo..oo. .oo..oo. .oo..... .oo..oo. - druga linia Display List bez VSCRL&lt;br /&gt;
    .oooooo. .oo..oo. .oo..oo. .oo.oo.. &lt;br /&gt;
    .oo..oo. .ooooo.. ..oooo.. .oooo... &lt;br /&gt;
 16 ........ ........ ........ ........ &lt;br /&gt;
 linia ekranowa (skaningowa) &lt;br /&gt;
&lt;br /&gt;
Jeśli bezpośrednio za przesuwaną sekcją znajdzie się pusta linia, to ona będzie wyświetlana przy przesuwaniu w ostatniej linii przesuwanej sekcji.&lt;br /&gt;
&lt;br /&gt;
W przypadku gdy przesunięcie przekracza ilość linii trybu, pierwsza linia sekcji przesuwanej jest rozszerzana do 16 linii ekranowych i zawiera zduplikowaną zawartość linii Display List, natomiast pierwsza linia sekcji nieruchomej nie jest &amp;quot;ściskana&amp;quot;, ale nadal uczestniczy w wyświetlaniu zawartości sekcji ruchomej.&lt;br /&gt;
&lt;br /&gt;
Przykładowa treść 3 linii trybu wysokiej rozdzielczości Display List gdy VSCROL=12&lt;br /&gt;
                    1 1      2 2      3&lt;br /&gt;
    0      7 8      5 6      3 4      1 - kolejna dana w linii&lt;br /&gt;
  0 .**..**. .**..**. .**..... .**..**.&lt;br /&gt;
    .******. .**..**. .**..**. .**.**.. - zniekształcona treść dwóch pierwszych linii ekranowych (* - piksel, który powinien być wyświetlony, a nie jest) &lt;br /&gt;
    .oo..oo. .ooooo.. ..oooo.. .oooo... &lt;br /&gt;
    ........ ........ ........ ........ &lt;br /&gt;
    ........ ........ ........ ........ - zduplikowana pierwsza linia Display List z VSCRL &lt;br /&gt;
    ...oo... .ooooo.. ..oooo.. .oooo... &lt;br /&gt;
    ..oooo.. .oo..oo. .oo..oo. .oo.oo.. &lt;br /&gt;
  7 .oo..oo. .ooooo.. .oo..... .oo..oo. &lt;br /&gt;
 &lt;br /&gt;
  8 .oo..oo. .oo..oo. .oo..... .oo..oo.&lt;br /&gt;
    .oooooo. .oo..oo. .oo..oo. .oo.oo.. &lt;br /&gt;
    .oo..oo. .ooooo.. ..oooo.. .oooo... &lt;br /&gt;
    ........ ........ ........ ........ &lt;br /&gt;
    ........ ........ ........ ........ - pierwsza linia Display List z VSCRL &lt;br /&gt;
    .oooooo. .oooooo. ..ooooo. .oo..oo. &lt;br /&gt;
    .oo..... .oo..... .oo..... .oo..oo. &lt;br /&gt;
 15 .ooooo.. .ooooo.. .oo..... .oooooo. &lt;br /&gt;
 &lt;br /&gt;
 16 .oo..... .oo..... .oo..oo. .oo..oo.&lt;br /&gt;
    .oo..... .oo..... .oo..oo. .oo..oo. &lt;br /&gt;
    .oooooo. .oo..... ..ooooo. .oo..oo. &lt;br /&gt;
    ........ ........ ........ ........ &lt;br /&gt;
    ........ ........ ........ ........ - pierwsza linia Display List bez VSCRL &lt;br /&gt;
    .oooooo. .oooooo. ..ooooo. .oo..oo. &lt;br /&gt;
    .oo..... .oo..... .oo..... .oo..oo. &lt;br /&gt;
 23 .ooooo.. .ooooo.. .oo..... .oooooo. &lt;br /&gt;
  &lt;br /&gt;
 24 ........ ........ ........ ........ &lt;br /&gt;
    .oooooo. .oooooo. .oo..oo. .oo..... &lt;br /&gt;
    ...oo... .....oo. .oo.oo.. .oo..... &lt;br /&gt;
    ...oo... .....oo. .oooo... .oo..... &lt;br /&gt;
    ...oo... .....oo. .oo.oo.. .oo..... - druga linia Display List bez VSCRL&lt;br /&gt;
    ...oo... .oo..oo. .oo..oo. .oo..... &lt;br /&gt;
    .oooooo. ..oooo.. .oo..oo. .oooooo. &lt;br /&gt;
 31 ........ ........ ........ ........ &lt;br /&gt;
 linia ekranowa (skaningowa)&lt;br /&gt;
&lt;br /&gt;
Testowanie wielkości przesunięcia odbywa się poprzez sprawdzenie czy odpowiednie bity są wyzerowane:&lt;br /&gt;
* w trybach [[Graphics 8|8 OS]], [[Graphics 9|9 OS]], [[Graphics 10|10 OS]], [[Graphics 11|11 OS]], [[Graphics 14|14 OS]] i [[Graphics 15|15 OS]] - bity 0..3,&lt;br /&gt;
* w trybach [[Graphics 6|6 OS]] i [[Graphics 7|7 OS]] - bity 1..3,&lt;br /&gt;
* w trybach [[Graphics 4|4 OS]] i [[Graphics 5|5 OS]] - bity 2..3,&lt;br /&gt;
* w trybach [[Graphics 0|0 OS]], [[ANTIC Display List#Tryby znakowe|3 ANTIC]], [[Graphics 1|1 OS]], [[Graphics 3|3 OS]] i [[Graphics 12|12 OS]] - bit 3,&lt;br /&gt;
* w trybach [[Graphics 2|2 OS]] i [[Graphics 13|13 OS]] nie jest sprawdzany żaden bit [[Rejestry ANTIC-a#VSCROL|rejestru VSCROL]] i dlatego w tych trybach nie występuje efekt duplikacji.&lt;br /&gt;
&lt;br /&gt;
===Puste linie TV===&lt;br /&gt;
&lt;br /&gt;
$x0 jest to kod rozkazu tworzenia pustych linii obrazu. Liczba tych linii określana jest przez trzy pierwsze bity starszej połówki bajtu: $00 tworzy jedną pustą linię skaningową, $10 dwie, $20 trzy, $30 cztery, $40 pięć, $50 sześć, $60 siedem a $70 osiem. Najstarszy bit wybiera [[DLI]], tak samo jak przy rozkazach linii trybu.&lt;br /&gt;
&lt;br /&gt;
===Tryby znakowe===&lt;br /&gt;
&lt;br /&gt;
Rozkazy tworzenia trybów tekstowych:&lt;br /&gt;
&lt;br /&gt;
* tryb $02: tryb monochromatyczny o szerokości 32, 40 lub 48 znaków, przy czym każdy znak ma wysokość ośmiu pikseli. Trybu tego używa system operacyjny jako trybu wyświetlania systemowej konsoli tekstowej o wielkości 40x24 znaki ([[Graphics 0|GRAPHICS 0]]).&lt;br /&gt;
* tryb $03: odmiana trybu powyższego. Wszystko jest tak samo, z wyjątkiem tego, że znaki wyświetlane są w matrycy 8x10 pikseli. Układ [[ANTIC (układ)|ANTIC]] sprzętowo dodaje dwie puste linie do wszystkich znaków, za wyjątkiem ostatniej ćwiartki zestawu znaków (w wewnętrznej organizacji ANTIC-a ostatnia ćwiartka generatora znaków to małe litery alfabetu angielskiego); w tym wypadku dwie pierwsze linie matrycy znaku wyświetlane są jako dwie ostatnie linie znaku. Tryb ten jest przydatny dla edytorów tekstu (i w istocie jest wykorzystywany np. przez program [[SpeedScript]]), bo pozwala na wyświetlanie małych liter z &amp;quot;wyrazistymi&amp;quot; ogonkami. Ten tryb wyświetlania nie ma odpowiednika w numeracji trybów systemu operacyjnego.&lt;br /&gt;
* tryb $04: odpowiednik trybu $02, ale matryca znaków interpretowana jest graficznie tak, by każde dwa bity tworzyły jeden piksel. Piksel ten może być w jednym z czterech kolorów, przy czym jeśli oba bity piksela są zapalone, to wybór rejestru koloru dodatkowo zależy od tego, czy bit 7 znaku jest zapalony czy nie. Kolory wybierane są z palety 128 barw przez pięć rejestrów kolorów. Jest to tryb 12 systemu operacyjnego ([[Graphics 12|GRAPHICS 12]]) o wielkości 40x24 znaki w pięciu kolorach. Tryb ten jest bardzo często wykorzystywany w grach ze względu na stosunkowo dużą liczbę kolorów i niewielkie przy tym zapotrzebowanie na pamięć (ekran o rozdzielczości 160x192 piksele w 5 kolorach zajmuje tylko 960 bajtów, plus generator znaków).&lt;br /&gt;
* tryb $05: odmiana trybu $04 o dwukrotnie mniejszej rozdzielczości pionowej; w systemie operacyjnym jest to tryb 13 o wielkości 40x12 znaków w pięciu kolorach ([[Graphics 13|GRAPHICS 13]]).&lt;br /&gt;
* tryb $06: jest to tryb znakowy, w którym znak ma rozmiary 8x8 pikseli, ale jeden piksel tego trybu ma szerokość dwóch pikseli trybu najwyższej rozdzielczości. W efekcie w jednej linii mieszczą się (w zależności od wybranej szerokości obrazu) 16, 20 lub 24 znaki. Każdy znak może być wyświetlony w jednym z czterech kolorów, które wybierają dwa najstarsze bity jego wartości. Kolory te są wybierane z palety 128 barw przez cztery rejestry kolorów. Dodatkowo do dyspozycji jest oddzielny kolor tła wybierany przez osobny rejestr koloru, również z palety 128. Jest to tryb 1 systemu operacyjnego ([[Graphics 1|GRAPHICS 1]]).&lt;br /&gt;
* tryb $07: odmiana trybu $06 o dwukrotnie mniejszej rozdzielczości pionowej. Jest to tryb 2 systemu operacyjnego ([[Graphics 2|GRAPHICS 2]]).&lt;br /&gt;
&lt;br /&gt;
===Tryby bitowe===&lt;br /&gt;
&lt;br /&gt;
Oprócz trybów znakowych dostępnych jest osiem trybów graficznych:&lt;br /&gt;
&lt;br /&gt;
* tryb $08: jest to tryb graficzny, w którym jeden piksel ma rozmiary 8x8 pikseli trybu najwyższej rozdzielczości. Dostępne sa cztery kolory z palety 128. Jest to tryb 3 systemu operacyjnego, o rozdzielczości 40x24 piksele w 4 kolorach ([[Graphics 3|GRAPHICS 3]]).&lt;br /&gt;
* tryb $09: jest to tryb graficzny, w którym piksel ma rozmiary 4x4 piksele trybu najwyższej rozdzielczości. Dostępne są dwa kolory z palety 128. Jest to tryb 4 systemu operacyjnego, o rozdzielczości 80x48 pikseli w 2 kolorach ([[Graphics 4|GRAPHICS 4]]).&lt;br /&gt;
* tryb $0a: jest to odpowiednik trybu $09, lecz dostępne są 4 kolory z palety 128. Jest to tryb 5 systemu operacyjnego ([[Graphics 5|GRAPHICS 5]]).&lt;br /&gt;
* tryb $0b: w tym trybie piksel ma rozmiar 2x2 piksele trybu najwyższej rozdzielczości. Dostępne są dwa kolory. Jest to tryb 6 systemu operacyjnego ([[Graphics 6|GRAPHICS 6]]).&lt;br /&gt;
* tryb $0c: w tym trybie piksel ma szerokość dwóch pikseli trybu najwyższej rozdzielczości i wysokość jednej linii skaningowej. Jest to tryb 14 systemu operacyjnego, 160x192 piksele w dwóch kolorach z palety 128 ([[Graphics 14|GRAPHICS 14]]).&lt;br /&gt;
* tryb $0d: jest to odpowiednik trybu $0b w 4 kolorach, czyli tryb 7 systemu operacyjnego o rozdzielczości 160x96 w 4 kolorach ([[Graphics 7|GRAPHICS 7]]).&lt;br /&gt;
* tryb $0e: jest to kolorowy odpowiednik trybu $0c, czyli tryb 15 systemu operacyjnego, 160x192 piksele w 4 kolorach ([[Graphics 15|GRAPHICS 15]]).&lt;br /&gt;
* tryb $0f: jest to monochromatyczny tryb najwyższej rozdzielczości, tryb 8 systemu operacyjnego, 320x192 piksele w jednym z dwóch odcieni tego samego koloru z palety 128 ([[Graphics 8|GRAPHICS 8]]).&lt;br /&gt;
&lt;br /&gt;
Podane tu rozmiary ekranu dla poszczególnych trybów, np. 40x24 czy 320x192 to standardowe rozdzielczości wybierane przez system operacyjny. Trzeba jednak pamiętać, że ekran można wedle potrzeb zwęzić do 32 kolumn (256 pikseli) lub poszerzyć do 48 kolumn (384 pikseli) oraz regulować jego wysokość tudzież położenie pionowe z dokładnością do jednej linii skaningowej (piksela) za pomocą Display List.&lt;br /&gt;
&lt;br /&gt;
==Tryby GTIA==&lt;br /&gt;
&lt;br /&gt;
System operacyjny oferuje ponadto trzy tryby graficzne &amp;quot;wielokolorowe&amp;quot; o rozdzielczości 80x192 piksele, tzw. tryby [[GTIA]]. Są to [[Graphics 9|GRAPHICS 9]], [[Graphics 11|GRAPHICS 11]] i [[Graphics 10|GRAPHICS 10]]. Dostępnych jest 16 kolorów wybieranych wartością piksela (4 bity na piksel). Pierwszy z tych trybów daje dostęp do 16 odcieni w jednym kolorze (z palety 16), drugi do 16 kolorów w jednym odcieniu, trzeci do 9 kolorów wybranych dowolnie z palety 128 - układ GTIA dysponuje niestety tylko dziewięcioma rejestrami kolorów, dlatego ten ostatni tryb nie pozwala na używanie 16 barw.&lt;br /&gt;
&lt;br /&gt;
Nie są to tryby układu [[ANTIC (układ)|ANTIC]] - z punktu widzenia tego układu wszystkie trzy to monochromatyczny tryb najwyższej rozdzielczości (GRAPHICS 8). Przekształcenie go w tryb wielokolorowy następuje przez ingerencję w [[rejestry GTIA#GTIACTL|rejestr kontroli układu GTIA (GTIACTL)]], co zmienia interpretację danych obrazu. Oczywiście w ten sam sposób można przekształcić dowolny inny tryb ANTIC-a.&lt;br /&gt;
&lt;br /&gt;
W komputerach, w których zamiast GTIA znajduje się układ [[CTIA]], te trzy tryby nie są dostępne. Natomiast w komputerach SECAM, z powodu ograniczeń sprzętowych układu [[FGTIA]] (zob.), tryb GRAPHICS 9 oferuje 8 odcieni, a GRAPHICS 11 - 15 kolorów.&lt;br /&gt;
&lt;br /&gt;
W systemie PAL, dzięki pewnej jego właściwości, zmieszanie dwóch trybów wielokolorowych - tego z 16 stopniami szarości z tym z 16 kolorami - daje dostęp do trybu graficznego o rozdzielczości 80x96 pikseli w 256 kolorach (pełne osiem bitów na piksel). Trybu tego używa program [[Paint 256]] (ta sztuczka nie działa, jeśli używamy [[VBXE]] i wyjścia RGB).&lt;br /&gt;
&lt;br /&gt;
Dodatkowo obraz w trybie GRAPHICS 10 jest przesunięty o pół piksela (1 [[cykl koloru]]) w prawo w stosunku do położenia pikseli w trybach 9 i 11. Pozwala to na podwojenie rozdzielczości poziomej obrazu powstałego ze zmieszania trybów 9 i 10 ([[HIP]], [[TIP]]).&lt;br /&gt;
&lt;br /&gt;
==Ciekawostki==&lt;br /&gt;
* Jedna z najbardziej zaawansowanych animacji opartych o Display List została stworzona w demku do gry [[Five to five]] przez [[Gizmo Magic]]. W liniach trybu $0e wykonana jest pseudotrójwymiarowa animacja dywanu, czyli coś na kształt [http://pl.wikipedia.org/wiki/Teksturowanie teksturowania] wykonywanego na falującej powierzchni.&lt;br /&gt;
* Ciekawy przykład Display List zawiera gra [[Galaxian]] - większość ekranu jest tworzona za pomocą rozkazów pustych linii, a grafika widoczna w tych liniach jest w całości generowana przez [[Player/Missile Graphics|graczy i pociski]].&lt;br /&gt;
* Ciekawa sztuczka została wykorzystana w grze [[Knight Lore]], gdzie dane wyświetlane na ekranie oddalone o 1 bajt w rzeczywistości w pamięci oddalone są o 8 bajtów, Display List zbudowana została w taki sposób, że to generator znaków pełni rolę pamięci ekranu natomiast wskaźnik pamięci ekranu ustawiony jest na sekwencję $00-$7f (pamięć ekranu zajmuje 128 bajtów).&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Atari 8-bit]]&lt;br /&gt;
[[Kategoria:Programowanie Atari 8-bit]]&lt;/div&gt;</summary>
		<author><name>Xxl</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Dyskusja:MapRAM&amp;diff=32377</id>
		<title>Dyskusja:MapRAM</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Dyskusja:MapRAM&amp;diff=32377"/>
		<updated>2012-07-14T06:58:40Z</updated>

		<summary type="html">&lt;p&gt;Xxl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Wydaje mi się, że ten schemat to wczesna robocza wersja. [[Użytkownik:Xxl|Xxl]] 08:58, 14 lip 2012 (CEST)&lt;/div&gt;</summary>
		<author><name>Xxl</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=MapRAM&amp;diff=32360</id>
		<title>MapRAM</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=MapRAM&amp;diff=32360"/>
		<updated>2012-07-01T15:41:39Z</updated>

		<summary type="html">&lt;p&gt;Xxl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Rozszerzenie MMU Atari [[XL]]/[[XE]], którego autorem jest [[Simius]], zezwala na jednoczesne włączenie poprzez [[Rejestry PIA#PORTB|PORTB]] pamięci RAM w obszarze $C000-$CFFF i $D800-$FFFF, oraz włączenie w obszar $5000-$57FF pamięci zasłoniętej przez rejestry sprzetowe $D000-$D7FF.&lt;br /&gt;
Zmiana w MMU nie koliduje z rozszerzeniami pamięci bazującymi na [[Rejestry PIA#PORTB|PORTB]] przez co jest w 100% kompatybilne, działa także na komputerze bez dodatkowej pamięci. Efektem działania MapRAM jest udostępnienie 2KB RAM leżących &amp;quot;pod&amp;quot; rejestrami sprzętowymi.&lt;br /&gt;
&lt;br /&gt;
Kombinacja bitów w [[Rejestry PIA#PORTB|PORTB]] do aktywacji MapRAM:&lt;br /&gt;
&lt;br /&gt;
0x11xxx0 - włącz RAM $C000-$CFFF i $D800-$FFFF a RAM z adresów $D000-$D7FF mapuj do $5000-$57FF&lt;br /&gt;
  &lt;br /&gt;
[[Kategoria:Atari 8-bit]]&lt;br /&gt;
[[Kategoria:Rozszerzenia]]&lt;/div&gt;</summary>
		<author><name>Xxl</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=MapRAM&amp;diff=32359</id>
		<title>MapRAM</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=MapRAM&amp;diff=32359"/>
		<updated>2012-07-01T15:38:27Z</updated>

		<summary type="html">&lt;p&gt;Xxl: do poprawy&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Rozszerzenie MMU Atari XL/XE, którego autorem jest [[Simius]], zezwala na jednoczesne włączenie poprzez PORTB pamięci RAM w obszarze $C000-$CFFF i $D800-$FFFF, oraz włączenie w obszar $5000-$57FF pamięci zasłoniętej przez rejestry sprzetowe $D000-$D7FF.&lt;br /&gt;
Zmiana w MMU nie koliduje z rozszerzeniami pamięci bazującymi na PORTB przez co jest w 100% kompatybilne, działa także na komputerze bez dodatkowej pamięci. Efektem działania MapRAM jest udostępnienie 2KB RAM leżących &amp;quot;pod&amp;quot; rejestrami sprzętowymi.&lt;br /&gt;
&lt;br /&gt;
Kombinacja bitów w PORTB do aktywacji MapRAM:&lt;br /&gt;
&lt;br /&gt;
0x11xxx0 - włącz RAM $C000-$CFFF i $D800-$FFFF a RAM z adresów $D000-$D7FF mapuj do $5000-$57FF&lt;br /&gt;
  &lt;br /&gt;
[[Kategoria:Atari 8-bit]]&lt;br /&gt;
[[Kategoria:Rozszerzenia]]&lt;/div&gt;</summary>
		<author><name>Xxl</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Akcesoria_i_rozszerzenia&amp;diff=32358</id>
		<title>Akcesoria i rozszerzenia</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Akcesoria_i_rozszerzenia&amp;diff=32358"/>
		<updated>2012-07-01T12:57:55Z</updated>

		<summary type="html">&lt;p&gt;Xxl: /* Inne rozszerzenia */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Atari 8-bit ==&lt;br /&gt;
&lt;br /&gt;
=== CPU ===&lt;br /&gt;
==== 65C02 ====&lt;br /&gt;
* [[Alternate CPU for XL/XE]]&lt;br /&gt;
==== 65C816 ====&lt;br /&gt;
* [[Sweet 16]], [[Turbo-816]], [[MARS-8]], [[Warp4]], [[HyperSpeed XL/XE]], [[F7]], [[XL7]]&lt;br /&gt;
==== Z80 ====&lt;br /&gt;
* [[1060]], [[1090 card - CP/M CARD|1066]], [[ATR 8000]], [[Indus GT]], [[LDW Super 2000]], [[CA-2001]]&lt;br /&gt;
&lt;br /&gt;
=== Rozszerzenia pamięci RAM ===&lt;br /&gt;
====Seria 400/800====&lt;br /&gt;
* [[Axlon]], [[CX852]], [[CX853]], [[Mosaic]]&lt;br /&gt;
&lt;br /&gt;
====Seria XL/XE====&lt;br /&gt;
===== Rozszerzenia do 64k (dla [[600XL]]) =====&lt;br /&gt;
* [[1064]], [[Microram 64k Memory Board]], [[RC Systems]]&lt;br /&gt;
===== Rozszerzenia ponad 64k =====&lt;br /&gt;
* [[192XT]], [[1MB SIMM RAM Extension]], [[Compy Shop (rozszerzenie RAM)|Compy Shop]], [[Newell Industries (rozszerzenie RAM)|Newell Industries]], [[Rambo XL]], [[SIMMius 4 MB]], [[Ultimate1MB]], [[Yorky]]&lt;br /&gt;
* [[Ram-Cart 64/128KB]], [[SiDiCar]], [[S/XEGS RAMCART 128KB]]&lt;br /&gt;
&lt;br /&gt;
=== Dźwięk ===&lt;br /&gt;
* [[Covox]], [[Mirage AD Converter|Mirage A/D Converter]], [[SimCovox]], [[SimpleStereo]], [[Slight SID]], [[SoundBoard]], [[Stereo]]&lt;br /&gt;
&lt;br /&gt;
=== Grafika ===&lt;br /&gt;
* [[Austin Franklin 80]], [[Simius GTIA Fixer]], [[Video Board XE]], [[XEP80]]&lt;br /&gt;
&lt;br /&gt;
=== Zegary czasu rzeczywistego ===&lt;br /&gt;
* [[R-Time 8]], [[ARC (zegar)|ARC]], [[IDE Plus]]&lt;br /&gt;
&lt;br /&gt;
=== Klawiatury ===&lt;br /&gt;
* [[1200XL Keyboard Tune-up]]&lt;br /&gt;
* [[AKI]]&lt;br /&gt;
* [[B Key 400]]&lt;br /&gt;
* [[Cherry keyboard]]&lt;br /&gt;
* [[Joytyper 400]]&lt;br /&gt;
* [[KB-400]]&lt;br /&gt;
&lt;br /&gt;
=== Freezery ===&lt;br /&gt;
* [[Banklan Freezer]], [[Cobra Hacker]], [[Code3 Freezer]], [[Tight Freezer]], [[Turbo Freezer XL]], [[Turbo Freezer XL/XE 2005]]&lt;br /&gt;
&lt;br /&gt;
=== Inne rozszerzenia ===&lt;br /&gt;
* [[1200XL Clearpic]]&lt;br /&gt;
* [[1200XL PBI]]&lt;br /&gt;
* [[GSPBI]]&lt;br /&gt;
* [[ISA]]&lt;br /&gt;
* [[MapRAM]]&lt;br /&gt;
* [[ROM Changer]]&lt;br /&gt;
* [[SpartaDOS X|Wewnętrzna Sparta DOS X]]&lt;br /&gt;
* [[Tight Tools Packed]]&lt;br /&gt;
&lt;br /&gt;
=== Modemy ===&lt;br /&gt;
&lt;br /&gt;
* [[830]], [[835]], [[1030]], [[XM301]], [[SX212]], [[MODEM PACKET RADIO]]&lt;br /&gt;
&lt;br /&gt;
=== Drukarki ===&lt;br /&gt;
&lt;br /&gt;
* [[820]], [[822]], [[825]], [[1020]], [[1025]], [[1027]], [[1027plus]], [[1029]], [[XMM801]], [[XDM121]], [[XTM201]], [[XTC201]]&lt;br /&gt;
&lt;br /&gt;
=== Interfejsy do drukarek ===&lt;br /&gt;
* [[MicroPrint]], [[MPP1150]], [[P:R: Connection]], [[Printer Connection]], [[SBG Centronics Interface]], [[XEP80]]&lt;br /&gt;
&lt;br /&gt;
=== Monitory ===&lt;br /&gt;
&lt;br /&gt;
* [[XM128]], [[XC1411]]&lt;br /&gt;
&lt;br /&gt;
=== Magnetofony i rozszerzenia do nich ===&lt;br /&gt;
&lt;br /&gt;
==== Magnetofony ====&lt;br /&gt;
&lt;br /&gt;
* [[410]], [[1010]], [[XC11]], [[XC12]], [[CA12]], [[XCA12]], [[PM4401A]], [[Interfejs dla dowolnego magnetofonu]]&lt;br /&gt;
&lt;br /&gt;
==== Systemy turbo ====&lt;br /&gt;
&lt;br /&gt;
* [[KSO Turbo 2000]], [[Atari Super Turbo]], [[Turbo Blizzard]], [[Turbo 6000]], [[Turbo 2000F]], [[Turbo 2600]], [[Turbo 2T06]], [[Turbo ROM]], [[Czeskie Turbo 2000]], [[Czeskie Super Turbo]], [[Czeskie B-TAPE]], [[Czeskie Mega-CD]]&lt;br /&gt;
&lt;br /&gt;
=== Stacje dysków i rozszerzenia do nich ===&lt;br /&gt;
&lt;br /&gt;
==== Stacje ====&lt;br /&gt;
&lt;br /&gt;
=====Szeregowe stacje Atari=====&lt;br /&gt;
&lt;br /&gt;
* [[810]], [[815]], [[1050]], [[1053]], [[1055]], [[XF351]], [[XF521]], [[XF551]]&lt;br /&gt;
&lt;br /&gt;
=====Szeregowe stacje innych producentów=====&lt;br /&gt;
&lt;br /&gt;
* [[Access Unlimited]], [[Amdek]], [[Astra]], [[CA-2001]], [[CA-2002]], [[Concorde]], [[D.8002 HS]], [[HDI]], [[Indus GT]], [[LDW Super 2000]], [[L.E. Systems]], [[Micro Mainframe]], [[PERCOM]], [[RANA 1000]], [[RCP]], [[SN-360]], [[TOMS 360]], [[TOMS 710]], [[TOMS 720]], [[TRAK AT]], [[VD 40]], [[XFD601]], [[XFD602]]&lt;br /&gt;
&lt;br /&gt;
=====Stacje równoległe=====&lt;br /&gt;
&lt;br /&gt;
* [[Karin Maxi]], [[CSS Floppy Board]]&lt;br /&gt;
&lt;br /&gt;
==== Rozszerzenia ====&lt;br /&gt;
&lt;br /&gt;
* [[1050E]]&lt;br /&gt;
* [[Duplicator]]&lt;br /&gt;
* [[Happy Warp]]&lt;br /&gt;
* [[I.S. PLATE]]&lt;br /&gt;
* [[RAM Charger]]&lt;br /&gt;
* [[Speedy 1050]]&lt;br /&gt;
* [[Super Archiver]]&lt;br /&gt;
* [[The Chip]]&lt;br /&gt;
* [[TOMS Multi Drive]]&lt;br /&gt;
* [[TOMS Turbo Drive]]&lt;br /&gt;
* [[Top Drive 1050]]&lt;br /&gt;
* [[US Doubler]]&lt;br /&gt;
* [[Hyper-XF]]&lt;br /&gt;
&lt;br /&gt;
=== Kontrolery IDE ===&lt;br /&gt;
====Szeregowe====&lt;br /&gt;
* [[SIO2IDE 1.7/3.3]], [[SIO2IDE 4.x]]&lt;br /&gt;
&lt;br /&gt;
====Równoległe====&lt;br /&gt;
* [[IDEa]], [[KMK/JŻ IDE]], [[IDE Plus]], [[msc]], [[Multi I/O II]], [[MyIDE]], [[SIDE]]&lt;br /&gt;
&lt;br /&gt;
=== Kontrolery SCSI ===&lt;br /&gt;
&lt;br /&gt;
* [[BlackBox]]&lt;br /&gt;
* [[BTL Hard Disk]]&lt;br /&gt;
* [[Multi I/O]]&lt;br /&gt;
* [[SupraDrive]]&lt;br /&gt;
&lt;br /&gt;
=== Kontrolery USB ===&lt;br /&gt;
* [[SIO2USB]]&lt;br /&gt;
&lt;br /&gt;
=== Interfejsy wielofunkcyjne ===&lt;br /&gt;
&lt;br /&gt;
* [[850|Atari 850]]&lt;br /&gt;
* [[1090|Atari 1090]]&lt;br /&gt;
* [[ATR 8000]]&lt;br /&gt;
* [[BlackBox]]&lt;br /&gt;
* [[Multi I/O]]&lt;br /&gt;
* [[Multi I/O II]]&lt;br /&gt;
* [[P:R: Connection]]&lt;br /&gt;
* [[SIO2PC]]&lt;br /&gt;
* [[SIUP]]&lt;br /&gt;
* [[SupraDrive]]&lt;br /&gt;
* [[XEP80]]&lt;br /&gt;
&lt;br /&gt;
=== Inne interfejsy ===&lt;br /&gt;
&lt;br /&gt;
* [[1050-2-PC / ProSys]], Atari Serial Interface [[ASI]], [[Atari 256 kB Game Cartridge]], [[Atari-LAB]], [[Game Link II]], [[IO-Board]], [[JOYSTAR]], [[Multi Joy 8]], [[Multi Joy 16]], [[MultiLink]], [[SimDrive]], [[SIO2SD]], [[USB Cartridge]], [[Video Interface]]&lt;br /&gt;
&lt;br /&gt;
=== Manipulatory ===&lt;br /&gt;
&lt;br /&gt;
==== Joysticki ====&lt;br /&gt;
&lt;br /&gt;
* [[CX24]], [[CX40]], [[CX41]], [[CX42]], [[CX43]], [[CA Commander]]&lt;br /&gt;
&lt;br /&gt;
==== [[pióro świetlne|Pióra świetlne]] ====&lt;br /&gt;
* [[CX70]], [[CX75]]&lt;br /&gt;
&lt;br /&gt;
==== Myszy ====&lt;br /&gt;
* [[CMI08]], [[STM1]], [[Zobian Rat]]&lt;br /&gt;
&lt;br /&gt;
==== Inne ====&lt;br /&gt;
* [[AW203]], [[CX20]], [[CX21]], [[CX22]], [[CX23]], [[CX30]], [[CX77]], [[CX78]], [[CX80]], [[CX85]], [[CX87]], [[CX88]], [[XG-1]], [[Atari Paddles]],  [[KoalaPad]], [[Track &amp;amp; Field (manipulator)|Track &amp;amp; Field]], [[TrakBall]], [[Wico Joystick]]&lt;br /&gt;
&lt;br /&gt;
=== Inne akcesoria ===&lt;br /&gt;
* [[CX8100]], [[CX8111]], [[CX8202]], [[CX81]], [[CX82]], [[CX86]], [[CX89]], [[AtariLab]], [[Sic!]]&lt;br /&gt;
&lt;br /&gt;
== ST/E/TT/Falcon ==&lt;br /&gt;
&lt;br /&gt;
=== Atari ST ===&lt;br /&gt;
&lt;br /&gt;
* [[Multiboard]], [[HyperCache]], [[HyperCACHE-030]], [[HBS-240]], [[HBS 640T36]], [[Turbo 20]], [[Turbo 30]], [[AdSpeed ST]], [[Mach-16]], [[Board 20]], * [[PAK68]], [[PAK68/2]], [[PAK68/3]], - &#039;&#039;&#039;turbo&#039;&#039;&#039;&lt;br /&gt;
* [[reSOLUTION]] - &#039;&#039;&#039;grafika&#039;&#039;&#039;&lt;br /&gt;
* [[AS Sampler]], [[16 Replay]], [[Tweety Board]], [[Stereo master]], [[Master Sound]]- &#039;&#039;&#039;dźwięk&#039;&#039;&#039;&lt;br /&gt;
* [[Computer Eyes]], [[Videomaster]], [[VidiST (12)]] - &#039;&#039;&#039;video&#039;&#039;&#039;&lt;br /&gt;
* [[Aladin]], [[AT-SPEED]], [[ATonce]], [[ATonce 386SX]], [[PC-SPEED]], [[Super Charger]], [[Super Charger Plus]], [[Spectre GCR]] - &#039;&#039;&#039;emulatory&#039;&#039;&#039;&lt;br /&gt;
* [[Xtra-RAM Deluxe]], [[Gigatron ST 2/4]], [[ST-K5]] - &#039;&#039;&#039;pamięć RAM&#039;&#039;&#039;&lt;br /&gt;
* [[Scope ST]], [[Eprombank 128K]] - &#039;&#039;&#039;inne&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Atari Mega ST ===&lt;br /&gt;
&lt;br /&gt;
* [[Multiboard]]&lt;br /&gt;
* [[T-Board]]&lt;br /&gt;
* [[SFP004]]&lt;br /&gt;
* [[XtraRAM 8]]&lt;br /&gt;
* [[Protar 4ML]], [[Viking]]&lt;br /&gt;
* [[Riebl]]&lt;br /&gt;
* [[CTL8]]&lt;br /&gt;
* [[Megabus to VME]]&lt;br /&gt;
* [[Matrix]]&lt;br /&gt;
* [[MegaScreen]]&lt;br /&gt;
* [[Atari Sound Accelerator]]&lt;br /&gt;
* [[Mega Speedbridge]]&lt;br /&gt;
&lt;br /&gt;
=== Atari STE ===&lt;br /&gt;
* [[Veloce]]  - &#039;&#039;&#039;turbo&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Atari Mega STE ===&lt;br /&gt;
Oprócz wymienionego poniżej sprzętu z serią Mega STE powinny bezproblemowo pracować wszelkie rozwiązania oparte na kartach VME, których specyfikacja znajduje się przy opisie rozszerzeń dla Atari TT030 (kwestia odpowiednich sterowników).&lt;br /&gt;
* [[MagnumSTE]] - pamięć&lt;br /&gt;
* [[Stidem]]&lt;br /&gt;
* [[E-Screen]] - karta graficzna&lt;br /&gt;
&lt;br /&gt;
=== Atari TT ===&lt;br /&gt;
&lt;br /&gt;
* [[CaTTamaran]], [[PowerUp]]  - &#039;&#039;&#039;turbo&#039;&#039;&#039;&lt;br /&gt;
* [[AlberTT]], [[Crazy Dots]], [[CyReL SUNRISE]], [[Galaxy]], [[Imagine]], [[Magic Screen]], [[Matrix]], [[Mega Vision]], [[Nova Graphics Card|Nova]], [[OverScanTT]], [[Pro Screen]], [[Spektrum]] - &#039;&#039;&#039;karty graficzne&#039;&#039;&#039;&lt;br /&gt;
* [[Startrack]] - &#039;&#039;&#039;karty muzyczne&#039;&#039;&#039;&lt;br /&gt;
* [[Riebl]], [[PamsNet]], [[BioVME]] - &#039;&#039;&#039;karty sieciowe&#039;&#039;&#039;&lt;br /&gt;
* [[CA400313]], [[CA401059]], [[MightyMic]], [[MagnumTT]], [[AixTT]] - &#039;&#039;&#039;rozszerzenia pamięci&#039;&#039;&#039;&lt;br /&gt;
* [[Belichter]], [[VME to MegaBus]]&lt;br /&gt;
&lt;br /&gt;
=== Atari Falcon ===&lt;br /&gt;
&lt;br /&gt;
* [[Skunk]], [[Nemesis turbo|Nemesis]], [[Centurbo]], [[Phantom]] - Boost&lt;br /&gt;
* [[AfterBurner 040]], [[Barracuda040]], [[Centurbo 2]], [[CT60]], [[FX-Karte]], [[Mighty Sonic 32]], [[Eagle Sonic 32]] - Karty procesorowe / TURBO&lt;br /&gt;
* [[Deesse]], [[SPDIF/FDI Interface]], [[FA8]], [[DSP Clock]], [[Softjee Clock]], [[JAM]] - Audio&lt;br /&gt;
* [[NOVA Falcon]], [[ScreenBlaster]], [[Eclipse]] - Grafika&lt;br /&gt;
* [[Expose]], [[ScreenEye]], [[Graffiti]], [[VideoMaster]] - Video&lt;br /&gt;
* [[Centram14]], [[FalconWings]], [[Magnum Falcon]], [[CA401292]] - Pamięć&lt;br /&gt;
* [[FalconSPEED]] - Emulatory&lt;br /&gt;
* [[CTPCI]], [[VME Interface]] - Inne rozszerzenia&lt;br /&gt;
* [[EtherNat]] - karty sieciowe&lt;br /&gt;
&lt;br /&gt;
=== Freezery ===&lt;br /&gt;
&lt;br /&gt;
* [[Ultimate Ripper]]&lt;br /&gt;
&lt;br /&gt;
=== Midi / Audio ===&lt;br /&gt;
&lt;br /&gt;
* [[Combiner]], [[Emagic NSL3]], [[Export]], [[MIDEX Plus]], [[MIDI-3]], [[MM1]]. [[Unitor]]&lt;br /&gt;
* [[ADAP SOUNDRACK]]&lt;br /&gt;
&lt;br /&gt;
=== Interfejsy klawiatury ===&lt;br /&gt;
&lt;br /&gt;
* [[ATKEY]], [[Eiffel]], [[Qwertyx]]&lt;br /&gt;
&lt;br /&gt;
=== Stacje dysków ===&lt;br /&gt;
&lt;br /&gt;
* [[SF314]], [[SF354]], [[PCF554]], [[Protar]]&lt;br /&gt;
&lt;br /&gt;
=== Monitory ===&lt;br /&gt;
&lt;br /&gt;
* [[PS3000]], [[SM124]], [[SM125]], [[SM144]], [[SM146]], [[SM147]], [[SM194]], [[SC1224]], [[SC1425]], [[SC1435]], [[PTM144]], [[PTC1426]], [[TTM194]], [[TTM195]], [[TTC1434]]&lt;br /&gt;
&lt;br /&gt;
=== Dyski Twarde ===&lt;br /&gt;
&lt;br /&gt;
* [[SH204]], [[SH205]], [[MegaFile 30]], [[MegaFile 60]], [[MegaFile 44]], [[Vortex HD Plus]], [[SupraDrive]], [[SpeedDrive]], [[Turbo 48]]&lt;br /&gt;
&lt;br /&gt;
=== Drukarki i interfejsy do drukarek ===&lt;br /&gt;
&lt;br /&gt;
* [[SMM804]], [[SLM804]], [[SLM605]], [[STC504]], [[SLM406]]&lt;br /&gt;
* [[Heat Seeker]], [[SLMC804]]&lt;br /&gt;
&lt;br /&gt;
=== Modemy ===&lt;br /&gt;
&lt;br /&gt;
* [[SX212]] &lt;br /&gt;
&lt;br /&gt;
=== Karty Sieciowe ===&lt;br /&gt;
&lt;br /&gt;
* [[EtherneC]], [[EtherneA]]&lt;br /&gt;
* [[Netus Bee]]&lt;br /&gt;
&lt;br /&gt;
* [[eLAN-ST]], [[CCC ASCI-DMA]]&lt;br /&gt;
&lt;br /&gt;
=== Myszy, manipulatory ===&lt;br /&gt;
&lt;br /&gt;
* [[STM1]]&lt;br /&gt;
* [[PowerPad]]&lt;br /&gt;
&lt;br /&gt;
=== Kontrolery SCSI/IDE ===&lt;br /&gt;
&lt;br /&gt;
* [[ICD LINK 2]], [[AdSCSI Micro ST]], [[AdSCSI ST]], [[AdSCSI ST|AdSCSI Plus ST]]&lt;br /&gt;
* [[GE Soft Link II]], [[GeSoft SCSI Hostadapter]]&lt;br /&gt;
* [[Paskud IDE Interface]], [[Mario Beckroft]], [[MikerIDE]], [[IDEal]], [[C&#039;t IDE]]&lt;br /&gt;
* [[IDE Devil]], [[SatanDisk]]&lt;br /&gt;
* [[TOS Card]]&lt;br /&gt;
&lt;br /&gt;
=== Inne ===&lt;br /&gt;
&lt;br /&gt;
* [[Diagnostic Cartridge]]&lt;br /&gt;
&lt;br /&gt;
== Atari PC ==&lt;br /&gt;
&lt;br /&gt;
* [[PCM1]], [[PCM125]]&lt;br /&gt;
&lt;br /&gt;
== Konsole ==&lt;br /&gt;
&lt;br /&gt;
=== Urządzenia sterujące ===&lt;br /&gt;
&lt;br /&gt;
* [[CX21]], [[CX50]], [[CX52]], [[CX53]] &lt;br /&gt;
* [[Sears Arcade II]]&lt;br /&gt;
* [[Virtual Reality System]], [[JagPad]], [[JagPad Pro]], [[TeamTap]], [[JagLink]], [[CatBox]], [[ScatBox]]&lt;br /&gt;
&lt;br /&gt;
=== Inne akcesoria ===&lt;br /&gt;
* [[CX55]]&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Menu Główne]]&lt;/div&gt;</summary>
		<author><name>Xxl</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Nieudokumentowane_rozkazy_6502C&amp;diff=32356</id>
		<title>Nieudokumentowane rozkazy 6502C</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Nieudokumentowane_rozkazy_6502C&amp;diff=32356"/>
		<updated>2012-06-20T10:08:57Z</updated>

		<summary type="html">&lt;p&gt;Xxl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Listę niepublikowanych kodów (zwanych również rozkazami nielegalnymi) [[6502C]] [[SALLY]] można podzielić na dwie grupy. [[Nieudokumentowane_rozkazy_6502C#KODY STABILNE|Kody stabilne]] (&amp;lt;span style=&amp;quot;color: green&amp;quot;&amp;gt;zielone&amp;lt;/span&amp;gt;) działają na wszystkich komputerach Atari serii [[XL]]/[[XE]] oraz tej części modeli [[400]]/[[800]] w której montowano procesor [[6502C]] [[SALLY]], natomiast [[Nieudokumentowane_rozkazy_6502C#KODY NIESTABILNE|kody niestabilne]] (&amp;lt;span style=&amp;quot;color: red&amp;quot;&amp;gt;czerwone&amp;lt;/span&amp;gt;) na procesorze [[6502C]] działają w sposób nieprzewidywalny.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot;&lt;br /&gt;
! width=&amp;quot;65px&amp;quot; | KOD !! width=&amp;quot;65px&amp;quot; | +00 !! +01 !! width=&amp;quot;65px&amp;quot; | +02 !! width=&amp;quot;65px&amp;quot; | +03 !! width=&amp;quot;65px&amp;quot; | +04 !! +05 !! +06 !! width=&amp;quot;65px&amp;quot; | +07 !! +08 !! width=&amp;quot;65px&amp;quot; | +09 !! width=&amp;quot;65px&amp;quot; | +0A !! width=&amp;quot;65px&amp;quot; | +0B !! width=&amp;quot;65px&amp;quot; | +0C !! +0D !! width=&amp;quot;65px&amp;quot; | +0E !! width=&amp;quot;65px&amp;quot; | +0F&lt;br /&gt;
|-&lt;br /&gt;
! +00 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | ASO (Z,X) || style=&amp;quot;color:GREEN&amp;quot; | DOP Z ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ANC #n || style=&amp;quot;color:GREEN&amp;quot; | TOP Q ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Q&lt;br /&gt;
|-&lt;br /&gt;
! +10 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | ASO (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | ASO Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +20 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RLN (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ANC #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Q&lt;br /&gt;
|-&lt;br /&gt;
! +30 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RLN (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | RLN Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +40 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | LSE (Z,X) || style=&amp;quot;color:GREEN&amp;quot; | DOP Z ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ALR #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Q    &lt;br /&gt;
|-&lt;br /&gt;
! +50 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | LSE (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | LSE Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +60 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RRD (Z,X) || style=&amp;quot;color:GREEN&amp;quot; | DOP Z ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ARR #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Q&lt;br /&gt;
|-&lt;br /&gt;
! +70 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RRD (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | RRD Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +80 || style=&amp;quot;color:GREEN&amp;quot; | DOP #n ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n || style=&amp;quot;color:GREEN&amp;quot; | SAX (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SAX Z ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n ||     || style=&amp;quot;color:RED&amp;quot; | ANE #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SAX Q&lt;br /&gt;
|-&lt;br /&gt;
! +90 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:RED&amp;quot; | SHA (Z),Y||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SAX Z,Y ||     ||     ||     || style=&amp;quot;color:RED&amp;quot; | SHS Q,Y || style=&amp;quot;color:GREEN&amp;quot; | SHY Q,X ||     || style=&amp;quot;color:GREEN&amp;quot; | SHX Q,Y || style=&amp;quot;color:RED&amp;quot; | SHA Q,Y &lt;br /&gt;
|-&lt;br /&gt;
! +A0 ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Z ||     ||     ||     || style=&amp;quot;color:RED&amp;quot; | ANX #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Q&lt;br /&gt;
|-&lt;br /&gt;
! +B0 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | LAX (Z),Y ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Z,Y ||     ||     ||     || style=&amp;quot;color:RED&amp;quot; | LAS Q,Y ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Q,Y &lt;br /&gt;
|-&lt;br /&gt;
! +C0 ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n || style=&amp;quot;color:GREEN&amp;quot; | DCP (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SBX #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Q&lt;br /&gt;
|-&lt;br /&gt;
! +D0 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | DCP (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | DCP Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Q,X  &lt;br /&gt;
|-&lt;br /&gt;
! +E0 ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n || style=&amp;quot;color:GREEN&amp;quot; | ISB (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SBC #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Q&lt;br /&gt;
|-&lt;br /&gt;
! +F0 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | ISB (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | ISB Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Q,X &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Legenda:&lt;br /&gt;
&amp;lt;br&amp;gt;n - dane w trybie natychmiastowym,&lt;br /&gt;
&amp;lt;br&amp;gt;Q - adres dwubajtowy,&lt;br /&gt;
&amp;lt;br&amp;gt;Z - adres jednobajtowy danych lub adresu pośredniego,&lt;br /&gt;
&amp;lt;br&amp;gt;* - dodać cykl przy zmianie strony.&lt;br /&gt;
&amp;lt;br&amp;gt;Użyto mnemoników stosowanych w makroassemblerze [[MADS]] oraz monitorze emulatora [[Atari800Win_PLus|Atari800Win PLus]].&lt;br /&gt;
&lt;br /&gt;
== KODY STABILNE ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ANC / ANC&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej. Znacznik C ustawiany tak jak N.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
| ANC #n || $0B || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ANC #n || $2B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SAX / SAX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND pomiędzy A i rejestrem X, wynik zapisuje w pamięci. Rejestry A i X pozostają niezmienione.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SAX Z || $87 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|SAX Z,Y || $97 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|SAX (Z,X) || $83 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|SAX Q || $8F || 3 || 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ALR / ALR&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej, następnie LSR @.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ALR #n || $4B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SBX / SBX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND pomiędzy rejestrem X i A, wynik w rejestrze X.&lt;br /&gt;
Znacznik C ustawiany gdy zawartość rejestru X jest większa lub równa danej.&lt;br /&gt;
Od rejestru X odejmuje daną (bez pożyczki).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SBX #n || $CB || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;DCM / DCP&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Zmniejsza o jeden wartość bajtu pamięci następnie wykonuje CMP na A i tej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|DCP Z || $C7 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|DCP Z,X || $D7 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|DCP Q || $CF || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|DCP Q,X || $DF || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|DCP Q,Y || $DB || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|DCP (Z,X) || $C3 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|DCP (Z),Y || $D3 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;INS / ISB&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Zwiększa o jeden zawartość pamięci. Od A odejmuje wartość pamięci (z pożyczką).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ISB Z || $E7 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|ISB Z,X || $F7 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ISB Q || $EF || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ISB Q,X || $FF || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ISB Q,Y || $FB || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ISB (Z,X) || $E3 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|ISB (Z),Y || $F3 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NOP / NPO&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Niepublikowany NOP&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $1A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $3A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $5A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $7A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $DA || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $FA || 1 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NOP / NPO (DOP)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Dwubajtowy NOP&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z || $04 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $14 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $34 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z || $44 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $54 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z || $64 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $74 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $80 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $82 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $89 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $C2 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $D4 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $E2 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $F4 || 2 || 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NOP / NPO (TOP)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Trzybajtowy NOP&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q || $0C || 3 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $1C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $3C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $5C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $7C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $DC || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $FC || 3 || 4 *&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SBC / SBC (?)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Niepublikowany SBC #n.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SBC #n || $EB || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;LAX / LAX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Załaduje daną do A i rejestru X.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|LAX Z || $A7 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|LAX Z,Y || $B7 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|LAX Q || $AF || 3 || 4&lt;br /&gt;
|-&lt;br /&gt;
|LAX Q,Y || $BF || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|LAX (Z,X) || $A3 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|LAX (Z),Y || $B3 || 2 || 5 *&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;RLA / RLN&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje ROL na pamięci, następnie AND z A (wynik w A).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|RLN Z || $27 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|RLN Z,X || $37 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RLN Q || $2F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RLN Q,X || $3F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RLN Q,Y || $3B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RLN (Z,X) || $23 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|RLN (Z),Y || $33 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;RRA / RRD&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje ROR na pamięci, następnie ADC z A (wynik w A).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|RRD Z || $67 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|RRD Z,X || $77 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RRD Q || $6F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RRD Q,X || $7F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RRD Q,Y || $7B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RRD (Z,X) || $63 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|RRD (Z),Y || $73 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ASO / ASO&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje ASL na pamięci, następnie ORA z A (wynik w A).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ASO Z || $07 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|ASO Z,X || $17 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ASO Q || $0F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ASO Q,X || $1F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ASO Q,Y || $1B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ASO (Z,X) || $03 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|ASO (Z),Y || $13 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;LSE / LSE&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje LSR na pamięci, następnie EOR z A (wynik w A). &lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|LSE Z || $47 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|LSE Z,X ||$57 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|LSE Q || $4F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|LSE Q,X || $5F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|LSE Q,Y || $5B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|LSE (Z,X) || $43 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|LSE (Z),Y || $53 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHX / SHX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do starszego bajtu adresu dodaje jeden i wykonuje AND z rejestrem X.&lt;br /&gt;
Tak otrzymaną wartość zapisuje w pamięci.&lt;br /&gt;
Jeśli nastąpiło przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHX Q,Y || $9E || 3 || 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHY / SHY&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do starszego bajtu adresu dodaje jeden i wykonuje AND z rejestrem Y.&lt;br /&gt;
Tak otrzymana wartość zapisuje w pamięci.&lt;br /&gt;
Jeśli nastąpiło przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHY Q,X || $9C || 3 || 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ARR / ARR&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Gdy znacznik D=0 rozkaz działa następująco:&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej po czym ROR.&lt;br /&gt;
&amp;lt;br&amp;gt;Znacznik C wpisuje do b7, b6 do znacznika C, do V b6 EOR b5.&lt;br /&gt;
&amp;lt;br&amp;gt;Gdy znacznik D=1 rozkaz:&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej (cząstkowy wynik w postaci młodszego i starszego nibbla przechowuje) następnie wykonuje ROR @.&lt;br /&gt;
&amp;lt;br&amp;gt;Jeśli wartość młodszego nibbla cząstkowego wyniku powiększona o jego b0 będzie większa lub równa od 5 to &lt;br /&gt;
młodszy nibbel wyniku w A zostanie zwiększony o 6, przy czym cząstkowe przeniesienie do starszego nibbla zostanie utracone.&lt;br /&gt;
&amp;lt;br&amp;gt;Podobnie starszy nibbel cząstkowego wyniku, jeśli wartość po zwiększeniu o b0 będzie większa lub równa 5&lt;br /&gt;
to starszy nibbel wyniku w A zwiększony będzie o 6 a dodatkowo znacznik C zostanie ustawiony, jeśli nie było korekty&lt;br /&gt;
starszego nibbla wyniku znacznik C będzie skasowany.&lt;br /&gt;
&amp;lt;br&amp;gt;Flaga V ustawiona gdy w b6 zmieni swoj stan po AND i ROR, kasowany w przeciwnym wypadku.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ARR #n || $6B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== KODY NIESTABILNE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;CIM / CIM&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Blokuje procesor.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $02 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $12 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $22 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $32 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $42 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $52 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $62 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $72 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $92 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $B2 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $D2 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $F2 || 1 || -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHA / SHA&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do starszego bajtu adresu dodaje jeden i wykonuje AND z A, następnie AND z rejestrem X.&lt;br /&gt;
Tak otrzymaną wartość zapisuje w pamięci.&lt;br /&gt;
Jeśli nastąpi przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHA Q,Y || $9F || 3 || 5&lt;br /&gt;
|-&lt;br /&gt;
|SHA (Z),Y || $93 || 2 || 6&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHS / SHS&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do rejestru S zapisuje wynik operacji A AND X następnie do starszego bajtu adresu dodaje&lt;br /&gt;
jeden, wykonuje AND z S i zapisuje wynik w pamięci.&lt;br /&gt;
Jeśli nastąpi przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHS Q,Y || $9B || 3 || 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;LAS / LAS&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na zawartości pamięci i rejestru S, wynik zapisuje w rejestrach A, X, S.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|LAS Q,Y || $BB || 3 || 4 *&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ANE / ANE&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki procesora ustawiane są wg. operacji argument AND A.&lt;br /&gt;
&amp;lt;br&amp;gt;Rozkaz najpierw wykonuje sumę logiczną argumentu i wartości $EF, następnie operacji AND na rejestrze X i wyniku. W kolejnym kroku z tak otrzymaną wartością wykona AND z A. Wynik w A. &lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ANE #n || $8B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ANX / ANX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje operację argument AND A, wynik zapisuje w A oraz rejetrze X.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ANX #n || $AB || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== CIEKAWOSTKI ==&lt;br /&gt;
*Rozkazy niepublikowane stabilne użyte zostały w grach: [[Alex]], [[Alley Cat]], Flinstone&#039;s Adventures, [[Gallahad]], Ghastly Night, Indiana Jones - The Last Crusade, Jurassic Park, Landscape, Leader Board, Nexuss, [[Riot]], SOS Saturn, Terminator, [[Vanguard]]; programach demonstracyjnych: Film Editor, Platfus Demo, Rolex, Rolex 2, Rolex 3, Rolex IV, Szczemp Sex Demo.&lt;br /&gt;
*Rozkazy niepublikowane niestabilne użyte zostały w grze G.I.L.P.; programach: 6502 Illegal Codes Test (Krógera). &lt;br /&gt;
*Bracia Selinger używali niepublikowanych rozkazów we wszystkich swoich grach. &lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Atari 8-bit]]&lt;/div&gt;</summary>
		<author><name>Xxl</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=PIA&amp;diff=32232</id>
		<title>PIA</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=PIA&amp;diff=32232"/>
		<updated>2012-05-05T07:37:31Z</updated>

		<summary type="html">&lt;p&gt;Xxl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Peripheral Interface Adapter. Układ MOS 6520 (lub 6521). W Atari obsługuje porty joysticków oraz - w komputerach [[XL]] i [[XE]] - steruje kontrolerem pamięci. Do układu PIA podłączone są też linie COMMAND, INTERRUPT oraz PROCEED [[gniazdo SIO|gniazda SIO]], w związku z czym układ ten może być źródłem przerwań [[IRQ]].&lt;br /&gt;
&lt;br /&gt;
Numer katalogowy Atari: &#039;&#039;&#039;C012298 / C014795&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Układ w unowocześnionej wersji i pod nazwą W65C21S produkowany jest przez [http://wdesignc.com Western Design Center].&lt;br /&gt;
&lt;br /&gt;
==Zobacz też==&lt;br /&gt;
&lt;br /&gt;
* [[Rejestry PIA]]&lt;br /&gt;
* [http://www.zimmers.net/anonftp/pub/cbm/documents/chipdata/6520.zip 6520 Data Sheet]&lt;br /&gt;
* [http://www.westerndesigncenter.com/wdc/datasheets/w65c21s.pdf W65C21S Data Sheet]&lt;br /&gt;
* [http://krap.pl/mirrorz/atari/www.xmission.com/~trevin/atari/pia_pinout.html PIA 6520 Pinout Diagram]&lt;br /&gt;
* [[VIA]]&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Atari 8-bit]]&lt;br /&gt;
[[Kategoria:Schematy i specyfikacje]]&lt;br /&gt;
{{stub}}&lt;/div&gt;</summary>
		<author><name>Xxl</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Nieudokumentowane_rozkazy_6502C&amp;diff=32231</id>
		<title>Nieudokumentowane rozkazy 6502C</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Nieudokumentowane_rozkazy_6502C&amp;diff=32231"/>
		<updated>2012-05-03T19:18:09Z</updated>

		<summary type="html">&lt;p&gt;Xxl: /* CIEKAWOSTKI */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Listę niepublikowanych kodów (zwanych również rozkazami nielegalnymi) [[6502C]] [[SALLY]] można podzielić na dwie grupy. [[Nieudokumentowane_rozkazy_6502C#KODY STABILNE|Kody stabilne]] (&amp;lt;span style=&amp;quot;color: green&amp;quot;&amp;gt;zielone&amp;lt;/span&amp;gt;) działają na wszystkich komputerach Atari serii [[XL]]/[[XE]] oraz tej części modeli [[400]]/[[800]] w której montowano procesor [[6502C]] [[SALLY]], natomiast [[Nieudokumentowane_rozkazy_6502C#KODY NIESTABILNE|kody niestabilne]] (&amp;lt;span style=&amp;quot;color: red&amp;quot;&amp;gt;czerwone&amp;lt;/span&amp;gt;) na procesorze [[6502C]] działają w sposób nieprzewidywalny.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot;&lt;br /&gt;
! width=&amp;quot;65px&amp;quot; | KOD !! width=&amp;quot;65px&amp;quot; | +00 !! +01 !! width=&amp;quot;65px&amp;quot; | +02 !! width=&amp;quot;65px&amp;quot; | +03 !! width=&amp;quot;65px&amp;quot; | +04 !! +05 !! +06 !! width=&amp;quot;65px&amp;quot; | +07 !! +08 !! width=&amp;quot;65px&amp;quot; | +09 !! width=&amp;quot;65px&amp;quot; | +0A !! width=&amp;quot;65px&amp;quot; | +0B !! width=&amp;quot;65px&amp;quot; | +0C !! +0D !! width=&amp;quot;65px&amp;quot; | +0E !! width=&amp;quot;65px&amp;quot; | +0F&lt;br /&gt;
|-&lt;br /&gt;
! +00 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | ASO (Z,X) || style=&amp;quot;color:GREEN&amp;quot; | DOP Z ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ANC #n || style=&amp;quot;color:GREEN&amp;quot; | TOP Q ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Q&lt;br /&gt;
|-&lt;br /&gt;
! +10 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | ASO (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | ASO Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +20 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RLN (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ANC #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Q&lt;br /&gt;
|-&lt;br /&gt;
! +30 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RLN (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | RLN Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +40 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | LSE (Z,X) || style=&amp;quot;color:GREEN&amp;quot; | DOP Z ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ALR #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Q    &lt;br /&gt;
|-&lt;br /&gt;
! +50 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | LSE (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | LSE Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +60 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RRD (Z,X) || style=&amp;quot;color:GREEN&amp;quot; | DOP Z ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ARR #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Q&lt;br /&gt;
|-&lt;br /&gt;
! +70 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RRD (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | RRD Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +80 || style=&amp;quot;color:GREEN&amp;quot; | DOP #n ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n || style=&amp;quot;color:GREEN&amp;quot; | SAX (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SAX Z ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n ||     || style=&amp;quot;color:RED&amp;quot; | ANE #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SAX Q&lt;br /&gt;
|-&lt;br /&gt;
! +90 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:RED&amp;quot; | SHA (Z),Y||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SAX Z,Y ||     ||     ||     || style=&amp;quot;color:RED&amp;quot; | SHS Q,Y || style=&amp;quot;color:GREEN&amp;quot; | SHY Q,X ||     || style=&amp;quot;color:GREEN&amp;quot; | SHX Q,Y || style=&amp;quot;color:RED&amp;quot; | SHA Q,Y &lt;br /&gt;
|-&lt;br /&gt;
! +A0 ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Z ||     ||     ||     || style=&amp;quot;color:RED&amp;quot; | ANX #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Q&lt;br /&gt;
|-&lt;br /&gt;
! +B0 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | LAX (Z),Y ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Z,Y ||     ||     ||     || style=&amp;quot;color:RED&amp;quot; | LAS Q,Y ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Q,Y &lt;br /&gt;
|-&lt;br /&gt;
! +C0 ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n || style=&amp;quot;color:GREEN&amp;quot; | DCP (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SBX #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Q&lt;br /&gt;
|-&lt;br /&gt;
! +D0 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | DCP (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | DCP Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Q,X  &lt;br /&gt;
|-&lt;br /&gt;
! +E0 ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n || style=&amp;quot;color:GREEN&amp;quot; | ISB (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SBC #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Q&lt;br /&gt;
|-&lt;br /&gt;
! +F0 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | ISB (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | ISB Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Q,X &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Legenda:&lt;br /&gt;
&amp;lt;br&amp;gt;n - dane w trybie natychmiastowym,&lt;br /&gt;
&amp;lt;br&amp;gt;Q - adres dwubajtowy,&lt;br /&gt;
&amp;lt;br&amp;gt;Z - adres jednobajtowy danych lub adresu pośredniego,&lt;br /&gt;
&amp;lt;br&amp;gt;* - dodać cykl przy zmianie strony.&lt;br /&gt;
&amp;lt;br&amp;gt;Użyto mnemoników stosowanych w makroassemblerze [[MADS]] oraz monitorze emulatora [[Atari800Win_PLus|Atari800Win PLus]].&lt;br /&gt;
&lt;br /&gt;
== KODY STABILNE ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ANC / ANC&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej. Znacznik C ustawiany tak jak N.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
| ANC #n || $0B || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ANC #n || $2B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SAX / SAX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND pomiędzy A i rejestrem X, wynik zapisuje w pamięci. Rejestry A i X pozostają niezmienione.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SAX Z || $87 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|SAX Z,Y || $97 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|SAX (Z,X) || $83 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|SAX Q || $8F || 3 || 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ALR / ALR&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej, następnie LSR @.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ALR #n || $4B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SBX / SBX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND pomiędzy rejestrem X i A, wynik w rejestrze X.&lt;br /&gt;
Znacznik C ustawiany gdy zawartość rejestru X jest większa lub równa danej.&lt;br /&gt;
Od rejestru X odejmuje daną (bez pożyczki).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SBX #n || $CB || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;DCM / DCP&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Zmniejsza o jeden wartość bajtu pamięci następnie wykonuje CMP na A i tej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|DCP Z || $C7 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|DCP Z,X || $D7 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|DCP Q || $CF || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|DCP Q,X || $DF || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|DCP Q,Y || $DB || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|DCP (Z,X) || $C3 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|DCP (Z),Y || $D3 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;INS / ISB&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Zwiększa o jeden zawartość pamięci. Od A odejmuje wartość pamięci (z pożyczką).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ISB Z || $E7 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|ISB Z,X || $F7 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ISB Q || $EF || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ISB Q,X || $FF || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ISB Q,Y || $FB || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ISB (Z,X) || $E3 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|ISB (Z),Y || $F3 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NOP / NPO&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Niepublikowany NOP&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $1A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $3A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $5A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $7A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $DA || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $FA || 1 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NOP / NPO (DOP)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Dwubajtowy NOP&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z || $04 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $14 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $34 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z || $44 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $54 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z || $64 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $74 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $80 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $82 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $89 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $C2 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $D4 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $E2 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $F4 || 2 || 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NOP / NPO (TOP)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Trzybajtowy NOP&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q || $0C || 3 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $1C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $3C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $5C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $7C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $DC || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $FC || 3 || 4 *&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SBC / SBC (?)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Niepublikowany SBC #n.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SBC #n || $EB || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;LAX / LAX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Załaduje daną do A i rejestru X.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|LAX Z || $A7 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|LAX Z,Y || $B7 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|LAX Q || $AF || 3 || 4&lt;br /&gt;
|-&lt;br /&gt;
|LAX Q,Y || $BF || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|LAX (Z,X) || $A3 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|LAX (Z),Y || $B3 || 2 || 5 *&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;RLA / RLN&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje ROL na pamięci, następnie AND z A (wynik w A).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|RLN Z || $27 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|RLN Z,X || $37 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RLN Q || $2F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RLN Q,X || $3F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RLN Q,Y || $3B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RLN (Z,X) || $23 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|RLN (Z),Y || $33 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;RRA / RRD&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje ROR na pamięci, następnie ADC z A (wynik w A).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|RRD Z || $67 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|RRD Z,X || $77 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RRD Q || $6F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RRD Q,X || $7F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RRD Q,Y || $7B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RRD (Z,X) || $63 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|RRD (Z),Y || $73 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ASO / ASO&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje ASL na pamięci, następnie ORA z A (wynik w A).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ASO Z || $07 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|ASO Z,X || $17 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ASO Q || $0F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ASO Q,X || $1F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ASO Q,Y || $1B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ASO (Z,X) || $03 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|ASO (Z),Y || $13 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;LSE / LSE&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje LSR na pamięci, następnie EOR z A (wynik w A). &lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|LSE Z || $47 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|LSE Z,X ||$57 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|LSE Q || $4F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|LSE Q,X || $5F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|LSE Q,Y || $5B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|LSE (Z,X) || $43 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|LSE (Z),Y || $53 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHX / SHX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do starszego bajtu adresu dodaje jeden i wykonuje AND z rejestrem X.&lt;br /&gt;
Tak otrzymaną wartość zapisuje w pamięci.&lt;br /&gt;
Jeśli nastąpiło przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHX Q,Y || $9E || 3 || 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHY / SHY&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do starszego bajtu adresu dodaje jeden i wykonuje AND z rejestrem Y.&lt;br /&gt;
Tak otrzymana wartość zapisuje w pamięci.&lt;br /&gt;
Jeśli nastąpiło przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHY Q,X || $9C || 3 || 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ARR / ARR&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Gdy znacznik D=0 rozkaz działa następująco:&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej po czym ROR.&lt;br /&gt;
&amp;lt;br&amp;gt;Znacznik C wpisuje do b7, b6 do znacznika C, do V b6 EOR b5.&lt;br /&gt;
&amp;lt;br&amp;gt;Gdy znacznik D=1 rozkaz:&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej (cząstkowy wynik w postaci młodszego i starszego nibbla przechowuje) następnie wykonuje ROR @.&lt;br /&gt;
&amp;lt;br&amp;gt;Jeśli wartość młodszego nibbla cząstkowego wyniku powiększona o jego b0 będzie większa lub równa od 5 to &lt;br /&gt;
młodszy nibbel wyniku w A zostanie zwiększony o 6, przy czym cząstkowe przeniesienie do starszego nibbla zostanie utracone.&lt;br /&gt;
&amp;lt;br&amp;gt;Podobnie starszy nibbel cząstkowego wyniku, jeśli wartość po zwiększeniu o b0 będzie większa lub równa 5&lt;br /&gt;
to starszy nibbel wyniku w A zwiększony będzie o 6 a dodatkowo znacznik C zostanie ustawiony, jeśli nie było korekty&lt;br /&gt;
starszego nibbla wyniku znacznik C będzie skasowany.&lt;br /&gt;
&amp;lt;br&amp;gt;Flaga V ustawiona gdy w b6 zmieni swoj stan po AND i ROR, kasowany w przeciwnym wypadku.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ARR #n || $6B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== KODY NIESTABILNE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;CIM / CIM&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Blokuje procesor.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $02 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $12 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $22 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $32 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $42 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $52 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $62 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $72 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $92 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $B2 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $D2 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $F2 || 1 || -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHA / SHA&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do starszego bajtu adresu dodaje jeden i wykonuje AND z A, następnie AND z rejestrem X.&lt;br /&gt;
Tak otrzymaną wartość zapisuje w pamięci.&lt;br /&gt;
Jeśli nastąpi przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHA Q,Y || $9F || 3 || 5&lt;br /&gt;
|-&lt;br /&gt;
|SHA (Z),Y || $93 || 2 || 6&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHS / SHS&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do rejestru S zapisuje wynik operacji A AND X następnie do starszego bajtu adresu dodaje&lt;br /&gt;
jeden, wykonuje AND z S i zapisuje wynik w pamięci.&lt;br /&gt;
Jeśli nastąpi przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHS Q,Y || $9B || 3 || 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;LAS / LAS&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na zawartości pamięci i rejestru S, wynik zapisuje w rejestrach A, X, S.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|LAS Q,Y || $BB || 3 || 4 *&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ANE / ANE&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki procesora ustawiane są wg. operacji argument AND A.&lt;br /&gt;
&amp;lt;br&amp;gt;Rozkaz najpierw wykonuje sumę logiczną argumentu i wartości $EF, następnie operacji AND na rejestrze X i wyniku. W kolejnym kroku z tak otrzymaną wartością wykona AND z A. Wynik w A. &lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ANE #n || $8B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ANX / ANX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje operację argument AND A, wynik zapisuje w A oraz rejetrze X.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ANX #n || $AB || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== CIEKAWOSTKI ==&lt;br /&gt;
*Rozkazy niepublikowane stabilne użyte zostały w grach: [[Alex]], [[Alley Cat]], Flinstone&#039;s Adventures, [[Gallahad]], Ghastly Night, Indiana Jones - The Last Crusade, Jurassic Park, Landscape, Leader Board, Nexuss, [[Riot]], SOS Saturn, Terminator, [[Vanguard]]; programach demonstracyjnych: Film Editor, Platfus Demo, Rolex, Rolex 2, Rolex 3, Rolex IV, Szczemp Sex Demo.&lt;br /&gt;
*Rozkazy niepublikowane niestabilne użyte zostały w grze G.I.L.P.&lt;br /&gt;
*Bracia Selinger używali niepublikowanych rozkazów we wszystkich swoich grach. &lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Atari 8-bit]]&lt;/div&gt;</summary>
		<author><name>Xxl</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Nieudokumentowane_rozkazy_6502C&amp;diff=32230</id>
		<title>Nieudokumentowane rozkazy 6502C</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Nieudokumentowane_rozkazy_6502C&amp;diff=32230"/>
		<updated>2012-05-02T22:04:53Z</updated>

		<summary type="html">&lt;p&gt;Xxl: /* CIEKAWOSTKI */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Listę niepublikowanych kodów (zwanych również rozkazami nielegalnymi) [[6502C]] [[SALLY]] można podzielić na dwie grupy. [[Nieudokumentowane_rozkazy_6502C#KODY STABILNE|Kody stabilne]] (&amp;lt;span style=&amp;quot;color: green&amp;quot;&amp;gt;zielone&amp;lt;/span&amp;gt;) działają na wszystkich komputerach Atari serii [[XL]]/[[XE]] oraz tej części modeli [[400]]/[[800]] w której montowano procesor [[6502C]] [[SALLY]], natomiast [[Nieudokumentowane_rozkazy_6502C#KODY NIESTABILNE|kody niestabilne]] (&amp;lt;span style=&amp;quot;color: red&amp;quot;&amp;gt;czerwone&amp;lt;/span&amp;gt;) na procesorze [[6502C]] działają w sposób nieprzewidywalny.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot;&lt;br /&gt;
! width=&amp;quot;65px&amp;quot; | KOD !! width=&amp;quot;65px&amp;quot; | +00 !! +01 !! width=&amp;quot;65px&amp;quot; | +02 !! width=&amp;quot;65px&amp;quot; | +03 !! width=&amp;quot;65px&amp;quot; | +04 !! +05 !! +06 !! width=&amp;quot;65px&amp;quot; | +07 !! +08 !! width=&amp;quot;65px&amp;quot; | +09 !! width=&amp;quot;65px&amp;quot; | +0A !! width=&amp;quot;65px&amp;quot; | +0B !! width=&amp;quot;65px&amp;quot; | +0C !! +0D !! width=&amp;quot;65px&amp;quot; | +0E !! width=&amp;quot;65px&amp;quot; | +0F&lt;br /&gt;
|-&lt;br /&gt;
! +00 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | ASO (Z,X) || style=&amp;quot;color:GREEN&amp;quot; | DOP Z ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ANC #n || style=&amp;quot;color:GREEN&amp;quot; | TOP Q ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Q&lt;br /&gt;
|-&lt;br /&gt;
! +10 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | ASO (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | ASO Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +20 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RLN (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ANC #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Q&lt;br /&gt;
|-&lt;br /&gt;
! +30 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RLN (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | RLN Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +40 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | LSE (Z,X) || style=&amp;quot;color:GREEN&amp;quot; | DOP Z ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ALR #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Q    &lt;br /&gt;
|-&lt;br /&gt;
! +50 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | LSE (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | LSE Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +60 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RRD (Z,X) || style=&amp;quot;color:GREEN&amp;quot; | DOP Z ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ARR #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Q&lt;br /&gt;
|-&lt;br /&gt;
! +70 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RRD (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | RRD Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +80 || style=&amp;quot;color:GREEN&amp;quot; | DOP #n ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n || style=&amp;quot;color:GREEN&amp;quot; | SAX (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SAX Z ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n ||     || style=&amp;quot;color:RED&amp;quot; | ANE #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SAX Q&lt;br /&gt;
|-&lt;br /&gt;
! +90 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:RED&amp;quot; | SHA (Z),Y||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SAX Z,Y ||     ||     ||     || style=&amp;quot;color:RED&amp;quot; | SHS Q,Y || style=&amp;quot;color:GREEN&amp;quot; | SHY Q,X ||     || style=&amp;quot;color:GREEN&amp;quot; | SHX Q,Y || style=&amp;quot;color:RED&amp;quot; | SHA Q,Y &lt;br /&gt;
|-&lt;br /&gt;
! +A0 ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Z ||     ||     ||     || style=&amp;quot;color:RED&amp;quot; | ANX #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Q&lt;br /&gt;
|-&lt;br /&gt;
! +B0 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | LAX (Z),Y ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Z,Y ||     ||     ||     || style=&amp;quot;color:RED&amp;quot; | LAS Q,Y ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Q,Y &lt;br /&gt;
|-&lt;br /&gt;
! +C0 ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n || style=&amp;quot;color:GREEN&amp;quot; | DCP (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SBX #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Q&lt;br /&gt;
|-&lt;br /&gt;
! +D0 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | DCP (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | DCP Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Q,X  &lt;br /&gt;
|-&lt;br /&gt;
! +E0 ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n || style=&amp;quot;color:GREEN&amp;quot; | ISB (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SBC #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Q&lt;br /&gt;
|-&lt;br /&gt;
! +F0 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | ISB (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | ISB Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Q,X &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Legenda:&lt;br /&gt;
&amp;lt;br&amp;gt;n - dane w trybie natychmiastowym,&lt;br /&gt;
&amp;lt;br&amp;gt;Q - adres dwubajtowy,&lt;br /&gt;
&amp;lt;br&amp;gt;Z - adres jednobajtowy danych lub adresu pośredniego,&lt;br /&gt;
&amp;lt;br&amp;gt;* - dodać cykl przy zmianie strony.&lt;br /&gt;
&amp;lt;br&amp;gt;Użyto mnemoników stosowanych w makroassemblerze [[MADS]] oraz monitorze emulatora [[Atari800Win_PLus|Atari800Win PLus]].&lt;br /&gt;
&lt;br /&gt;
== KODY STABILNE ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ANC / ANC&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej. Znacznik C ustawiany tak jak N.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
| ANC #n || $0B || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ANC #n || $2B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SAX / SAX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND pomiędzy A i rejestrem X, wynik zapisuje w pamięci. Rejestry A i X pozostają niezmienione.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SAX Z || $87 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|SAX Z,Y || $97 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|SAX (Z,X) || $83 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|SAX Q || $8F || 3 || 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ALR / ALR&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej, następnie LSR @.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ALR #n || $4B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SBX / SBX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND pomiędzy rejestrem X i A, wynik w rejestrze X.&lt;br /&gt;
Znacznik C ustawiany gdy zawartość rejestru X jest większa lub równa danej.&lt;br /&gt;
Od rejestru X odejmuje daną (bez pożyczki).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SBX #n || $CB || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;DCM / DCP&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Zmniejsza o jeden wartość bajtu pamięci następnie wykonuje CMP na A i tej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|DCP Z || $C7 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|DCP Z,X || $D7 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|DCP Q || $CF || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|DCP Q,X || $DF || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|DCP Q,Y || $DB || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|DCP (Z,X) || $C3 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|DCP (Z),Y || $D3 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;INS / ISB&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Zwiększa o jeden zawartość pamięci. Od A odejmuje wartość pamięci (z pożyczką).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ISB Z || $E7 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|ISB Z,X || $F7 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ISB Q || $EF || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ISB Q,X || $FF || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ISB Q,Y || $FB || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ISB (Z,X) || $E3 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|ISB (Z),Y || $F3 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NOP / NPO&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Niepublikowany NOP&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $1A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $3A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $5A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $7A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $DA || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $FA || 1 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NOP / NPO (DOP)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Dwubajtowy NOP&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z || $04 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $14 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $34 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z || $44 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $54 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z || $64 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $74 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $80 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $82 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $89 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $C2 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $D4 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $E2 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $F4 || 2 || 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NOP / NPO (TOP)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Trzybajtowy NOP&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q || $0C || 3 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $1C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $3C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $5C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $7C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $DC || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $FC || 3 || 4 *&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SBC / SBC (?)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Niepublikowany SBC #n.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SBC #n || $EB || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;LAX / LAX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Załaduje daną do A i rejestru X.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|LAX Z || $A7 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|LAX Z,Y || $B7 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|LAX Q || $AF || 3 || 4&lt;br /&gt;
|-&lt;br /&gt;
|LAX Q,Y || $BF || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|LAX (Z,X) || $A3 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|LAX (Z),Y || $B3 || 2 || 5 *&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;RLA / RLN&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje ROL na pamięci, następnie AND z A (wynik w A).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|RLN Z || $27 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|RLN Z,X || $37 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RLN Q || $2F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RLN Q,X || $3F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RLN Q,Y || $3B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RLN (Z,X) || $23 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|RLN (Z),Y || $33 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;RRA / RRD&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje ROR na pamięci, następnie ADC z A (wynik w A).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|RRD Z || $67 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|RRD Z,X || $77 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RRD Q || $6F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RRD Q,X || $7F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RRD Q,Y || $7B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RRD (Z,X) || $63 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|RRD (Z),Y || $73 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ASO / ASO&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje ASL na pamięci, następnie ORA z A (wynik w A).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ASO Z || $07 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|ASO Z,X || $17 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ASO Q || $0F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ASO Q,X || $1F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ASO Q,Y || $1B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ASO (Z,X) || $03 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|ASO (Z),Y || $13 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;LSE / LSE&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje LSR na pamięci, następnie EOR z A (wynik w A). &lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|LSE Z || $47 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|LSE Z,X ||$57 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|LSE Q || $4F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|LSE Q,X || $5F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|LSE Q,Y || $5B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|LSE (Z,X) || $43 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|LSE (Z),Y || $53 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHX / SHX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do starszego bajtu adresu dodaje jeden i wykonuje AND z rejestrem X.&lt;br /&gt;
Tak otrzymaną wartość zapisuje w pamięci.&lt;br /&gt;
Jeśli nastąpiło przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHX Q,Y || $9E || 3 || 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHY / SHY&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do starszego bajtu adresu dodaje jeden i wykonuje AND z rejestrem Y.&lt;br /&gt;
Tak otrzymana wartość zapisuje w pamięci.&lt;br /&gt;
Jeśli nastąpiło przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHY Q,X || $9C || 3 || 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ARR / ARR&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Gdy znacznik D=0 rozkaz działa następująco:&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej po czym ROR.&lt;br /&gt;
&amp;lt;br&amp;gt;Znacznik C wpisuje do b7, b6 do znacznika C, do V b6 EOR b5.&lt;br /&gt;
&amp;lt;br&amp;gt;Gdy znacznik D=1 rozkaz:&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej (cząstkowy wynik w postaci młodszego i starszego nibbla przechowuje) następnie wykonuje ROR @.&lt;br /&gt;
&amp;lt;br&amp;gt;Jeśli wartość młodszego nibbla cząstkowego wyniku powiększona o jego b0 będzie większa lub równa od 5 to &lt;br /&gt;
młodszy nibbel wyniku w A zostanie zwiększony o 6, przy czym cząstkowe przeniesienie do starszego nibbla zostanie utracone.&lt;br /&gt;
&amp;lt;br&amp;gt;Podobnie starszy nibbel cząstkowego wyniku, jeśli wartość po zwiększeniu o b0 będzie większa lub równa 5&lt;br /&gt;
to starszy nibbel wyniku w A zwiększony będzie o 6 a dodatkowo znacznik C zostanie ustawiony, jeśli nie było korekty&lt;br /&gt;
starszego nibbla wyniku znacznik C będzie skasowany.&lt;br /&gt;
&amp;lt;br&amp;gt;Flaga V ustawiona gdy w b6 zmieni swoj stan po AND i ROR, kasowany w przeciwnym wypadku.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ARR #n || $6B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== KODY NIESTABILNE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;CIM / CIM&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Blokuje procesor.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $02 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $12 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $22 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $32 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $42 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $52 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $62 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $72 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $92 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $B2 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $D2 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $F2 || 1 || -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHA / SHA&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do starszego bajtu adresu dodaje jeden i wykonuje AND z A, następnie AND z rejestrem X.&lt;br /&gt;
Tak otrzymaną wartość zapisuje w pamięci.&lt;br /&gt;
Jeśli nastąpi przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHA Q,Y || $9F || 3 || 5&lt;br /&gt;
|-&lt;br /&gt;
|SHA (Z),Y || $93 || 2 || 6&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHS / SHS&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do rejestru S zapisuje wynik operacji A AND X następnie do starszego bajtu adresu dodaje&lt;br /&gt;
jeden, wykonuje AND z S i zapisuje wynik w pamięci.&lt;br /&gt;
Jeśli nastąpi przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHS Q,Y || $9B || 3 || 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;LAS / LAS&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na zawartości pamięci i rejestru S, wynik zapisuje w rejestrach A, X, S.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|LAS Q,Y || $BB || 3 || 4 *&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ANE / ANE&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki procesora ustawiane są wg. operacji argument AND A.&lt;br /&gt;
&amp;lt;br&amp;gt;Rozkaz najpierw wykonuje sumę logiczną argumentu i wartości $EF, następnie operacji AND na rejestrze X i wyniku. W kolejnym kroku z tak otrzymaną wartością wykona AND z A. Wynik w A. &lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ANE #n || $8B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ANX / ANX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje operację argument AND A, wynik zapisuje w A oraz rejetrze X.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ANX #n || $AB || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== CIEKAWOSTKI ==&lt;br /&gt;
*Rozkazy niepublikowane stabilne użyte zostały w grach: [[Alex]], [[Alley Cat]], Flinstone&#039;s Adventures, [[Gallahad]], Ghastly Night, Indiana Jones - The Last Crusade, Jurassic Park, Landscape, Leader Board, Nexuss, [[Riot]], SOS Saturn, Terminator, [[Vanguard]]; programach demonstracyjnych: Rolex, Rolex 2, Rolex 3, Rolex IV.&lt;br /&gt;
*Rozkazy niepublikowane niestabilne użyte zostały w grze G.I.L.P.&lt;br /&gt;
*Bracia Selinger używali niepublikowanych rozkazów we wszystkich swoich grach. &lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Atari 8-bit]]&lt;/div&gt;</summary>
		<author><name>Xxl</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Nieudokumentowane_rozkazy_6502C&amp;diff=32229</id>
		<title>Nieudokumentowane rozkazy 6502C</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Nieudokumentowane_rozkazy_6502C&amp;diff=32229"/>
		<updated>2012-05-02T21:01:51Z</updated>

		<summary type="html">&lt;p&gt;Xxl: /* CIEKAWOSTKI */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Listę niepublikowanych kodów (zwanych również rozkazami nielegalnymi) [[6502C]] [[SALLY]] można podzielić na dwie grupy. [[Nieudokumentowane_rozkazy_6502C#KODY STABILNE|Kody stabilne]] (&amp;lt;span style=&amp;quot;color: green&amp;quot;&amp;gt;zielone&amp;lt;/span&amp;gt;) działają na wszystkich komputerach Atari serii [[XL]]/[[XE]] oraz tej części modeli [[400]]/[[800]] w której montowano procesor [[6502C]] [[SALLY]], natomiast [[Nieudokumentowane_rozkazy_6502C#KODY NIESTABILNE|kody niestabilne]] (&amp;lt;span style=&amp;quot;color: red&amp;quot;&amp;gt;czerwone&amp;lt;/span&amp;gt;) na procesorze [[6502C]] działają w sposób nieprzewidywalny.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot;&lt;br /&gt;
! width=&amp;quot;65px&amp;quot; | KOD !! width=&amp;quot;65px&amp;quot; | +00 !! +01 !! width=&amp;quot;65px&amp;quot; | +02 !! width=&amp;quot;65px&amp;quot; | +03 !! width=&amp;quot;65px&amp;quot; | +04 !! +05 !! +06 !! width=&amp;quot;65px&amp;quot; | +07 !! +08 !! width=&amp;quot;65px&amp;quot; | +09 !! width=&amp;quot;65px&amp;quot; | +0A !! width=&amp;quot;65px&amp;quot; | +0B !! width=&amp;quot;65px&amp;quot; | +0C !! +0D !! width=&amp;quot;65px&amp;quot; | +0E !! width=&amp;quot;65px&amp;quot; | +0F&lt;br /&gt;
|-&lt;br /&gt;
! +00 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | ASO (Z,X) || style=&amp;quot;color:GREEN&amp;quot; | DOP Z ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ANC #n || style=&amp;quot;color:GREEN&amp;quot; | TOP Q ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Q&lt;br /&gt;
|-&lt;br /&gt;
! +10 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | ASO (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | ASO Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +20 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RLN (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ANC #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Q&lt;br /&gt;
|-&lt;br /&gt;
! +30 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RLN (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | RLN Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +40 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | LSE (Z,X) || style=&amp;quot;color:GREEN&amp;quot; | DOP Z ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ALR #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Q    &lt;br /&gt;
|-&lt;br /&gt;
! +50 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | LSE (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | LSE Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +60 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RRD (Z,X) || style=&amp;quot;color:GREEN&amp;quot; | DOP Z ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ARR #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Q&lt;br /&gt;
|-&lt;br /&gt;
! +70 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RRD (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | RRD Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +80 || style=&amp;quot;color:GREEN&amp;quot; | DOP #n ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n || style=&amp;quot;color:GREEN&amp;quot; | SAX (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SAX Z ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n ||     || style=&amp;quot;color:RED&amp;quot; | ANE #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SAX Q&lt;br /&gt;
|-&lt;br /&gt;
! +90 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:RED&amp;quot; | SHA (Z),Y||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SAX Z,Y ||     ||     ||     || style=&amp;quot;color:RED&amp;quot; | SHS Q,Y || style=&amp;quot;color:GREEN&amp;quot; | SHY Q,X ||     || style=&amp;quot;color:GREEN&amp;quot; | SHX Q,Y || style=&amp;quot;color:RED&amp;quot; | SHA Q,Y &lt;br /&gt;
|-&lt;br /&gt;
! +A0 ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Z ||     ||     ||     || style=&amp;quot;color:RED&amp;quot; | ANX #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Q&lt;br /&gt;
|-&lt;br /&gt;
! +B0 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | LAX (Z),Y ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Z,Y ||     ||     ||     || style=&amp;quot;color:RED&amp;quot; | LAS Q,Y ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Q,Y &lt;br /&gt;
|-&lt;br /&gt;
! +C0 ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n || style=&amp;quot;color:GREEN&amp;quot; | DCP (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SBX #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Q&lt;br /&gt;
|-&lt;br /&gt;
! +D0 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | DCP (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | DCP Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Q,X  &lt;br /&gt;
|-&lt;br /&gt;
! +E0 ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n || style=&amp;quot;color:GREEN&amp;quot; | ISB (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SBC #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Q&lt;br /&gt;
|-&lt;br /&gt;
! +F0 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | ISB (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | ISB Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Q,X &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Legenda:&lt;br /&gt;
&amp;lt;br&amp;gt;n - dane w trybie natychmiastowym,&lt;br /&gt;
&amp;lt;br&amp;gt;Q - adres dwubajtowy,&lt;br /&gt;
&amp;lt;br&amp;gt;Z - adres jednobajtowy danych lub adresu pośredniego,&lt;br /&gt;
&amp;lt;br&amp;gt;* - dodać cykl przy zmianie strony.&lt;br /&gt;
&amp;lt;br&amp;gt;Użyto mnemoników stosowanych w makroassemblerze [[MADS]] oraz monitorze emulatora [[Atari800Win_PLus|Atari800Win PLus]].&lt;br /&gt;
&lt;br /&gt;
== KODY STABILNE ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ANC / ANC&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej. Znacznik C ustawiany tak jak N.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
| ANC #n || $0B || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ANC #n || $2B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SAX / SAX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND pomiędzy A i rejestrem X, wynik zapisuje w pamięci. Rejestry A i X pozostają niezmienione.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SAX Z || $87 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|SAX Z,Y || $97 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|SAX (Z,X) || $83 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|SAX Q || $8F || 3 || 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ALR / ALR&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej, następnie LSR @.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ALR #n || $4B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SBX / SBX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND pomiędzy rejestrem X i A, wynik w rejestrze X.&lt;br /&gt;
Znacznik C ustawiany gdy zawartość rejestru X jest większa lub równa danej.&lt;br /&gt;
Od rejestru X odejmuje daną (bez pożyczki).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SBX #n || $CB || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;DCM / DCP&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Zmniejsza o jeden wartość bajtu pamięci następnie wykonuje CMP na A i tej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|DCP Z || $C7 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|DCP Z,X || $D7 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|DCP Q || $CF || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|DCP Q,X || $DF || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|DCP Q,Y || $DB || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|DCP (Z,X) || $C3 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|DCP (Z),Y || $D3 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;INS / ISB&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Zwiększa o jeden zawartość pamięci. Od A odejmuje wartość pamięci (z pożyczką).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ISB Z || $E7 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|ISB Z,X || $F7 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ISB Q || $EF || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ISB Q,X || $FF || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ISB Q,Y || $FB || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ISB (Z,X) || $E3 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|ISB (Z),Y || $F3 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NOP / NPO&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Niepublikowany NOP&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $1A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $3A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $5A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $7A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $DA || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $FA || 1 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NOP / NPO (DOP)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Dwubajtowy NOP&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z || $04 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $14 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $34 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z || $44 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $54 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z || $64 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $74 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $80 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $82 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $89 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $C2 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $D4 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $E2 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $F4 || 2 || 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NOP / NPO (TOP)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Trzybajtowy NOP&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q || $0C || 3 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $1C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $3C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $5C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $7C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $DC || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $FC || 3 || 4 *&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SBC / SBC (?)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Niepublikowany SBC #n.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SBC #n || $EB || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;LAX / LAX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Załaduje daną do A i rejestru X.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|LAX Z || $A7 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|LAX Z,Y || $B7 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|LAX Q || $AF || 3 || 4&lt;br /&gt;
|-&lt;br /&gt;
|LAX Q,Y || $BF || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|LAX (Z,X) || $A3 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|LAX (Z),Y || $B3 || 2 || 5 *&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;RLA / RLN&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje ROL na pamięci, następnie AND z A (wynik w A).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|RLN Z || $27 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|RLN Z,X || $37 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RLN Q || $2F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RLN Q,X || $3F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RLN Q,Y || $3B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RLN (Z,X) || $23 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|RLN (Z),Y || $33 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;RRA / RRD&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje ROR na pamięci, następnie ADC z A (wynik w A).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|RRD Z || $67 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|RRD Z,X || $77 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RRD Q || $6F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RRD Q,X || $7F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RRD Q,Y || $7B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RRD (Z,X) || $63 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|RRD (Z),Y || $73 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ASO / ASO&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje ASL na pamięci, następnie ORA z A (wynik w A).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ASO Z || $07 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|ASO Z,X || $17 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ASO Q || $0F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ASO Q,X || $1F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ASO Q,Y || $1B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ASO (Z,X) || $03 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|ASO (Z),Y || $13 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;LSE / LSE&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje LSR na pamięci, następnie EOR z A (wynik w A). &lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|LSE Z || $47 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|LSE Z,X ||$57 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|LSE Q || $4F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|LSE Q,X || $5F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|LSE Q,Y || $5B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|LSE (Z,X) || $43 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|LSE (Z),Y || $53 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHX / SHX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do starszego bajtu adresu dodaje jeden i wykonuje AND z rejestrem X.&lt;br /&gt;
Tak otrzymaną wartość zapisuje w pamięci.&lt;br /&gt;
Jeśli nastąpiło przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHX Q,Y || $9E || 3 || 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHY / SHY&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do starszego bajtu adresu dodaje jeden i wykonuje AND z rejestrem Y.&lt;br /&gt;
Tak otrzymana wartość zapisuje w pamięci.&lt;br /&gt;
Jeśli nastąpiło przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHY Q,X || $9C || 3 || 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ARR / ARR&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Gdy znacznik D=0 rozkaz działa następująco:&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej po czym ROR.&lt;br /&gt;
&amp;lt;br&amp;gt;Znacznik C wpisuje do b7, b6 do znacznika C, do V b6 EOR b5.&lt;br /&gt;
&amp;lt;br&amp;gt;Gdy znacznik D=1 rozkaz:&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej (cząstkowy wynik w postaci młodszego i starszego nibbla przechowuje) następnie wykonuje ROR @.&lt;br /&gt;
&amp;lt;br&amp;gt;Jeśli wartość młodszego nibbla cząstkowego wyniku powiększona o jego b0 będzie większa lub równa od 5 to &lt;br /&gt;
młodszy nibbel wyniku w A zostanie zwiększony o 6, przy czym cząstkowe przeniesienie do starszego nibbla zostanie utracone.&lt;br /&gt;
&amp;lt;br&amp;gt;Podobnie starszy nibbel cząstkowego wyniku, jeśli wartość po zwiększeniu o b0 będzie większa lub równa 5&lt;br /&gt;
to starszy nibbel wyniku w A zwiększony będzie o 6 a dodatkowo znacznik C zostanie ustawiony, jeśli nie było korekty&lt;br /&gt;
starszego nibbla wyniku znacznik C będzie skasowany.&lt;br /&gt;
&amp;lt;br&amp;gt;Flaga V ustawiona gdy w b6 zmieni swoj stan po AND i ROR, kasowany w przeciwnym wypadku.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ARR #n || $6B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== KODY NIESTABILNE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;CIM / CIM&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Blokuje procesor.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $02 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $12 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $22 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $32 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $42 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $52 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $62 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $72 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $92 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $B2 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $D2 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $F2 || 1 || -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHA / SHA&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do starszego bajtu adresu dodaje jeden i wykonuje AND z A, następnie AND z rejestrem X.&lt;br /&gt;
Tak otrzymaną wartość zapisuje w pamięci.&lt;br /&gt;
Jeśli nastąpi przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHA Q,Y || $9F || 3 || 5&lt;br /&gt;
|-&lt;br /&gt;
|SHA (Z),Y || $93 || 2 || 6&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHS / SHS&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do rejestru S zapisuje wynik operacji A AND X następnie do starszego bajtu adresu dodaje&lt;br /&gt;
jeden, wykonuje AND z S i zapisuje wynik w pamięci.&lt;br /&gt;
Jeśli nastąpi przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHS Q,Y || $9B || 3 || 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;LAS / LAS&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na zawartości pamięci i rejestru S, wynik zapisuje w rejestrach A, X, S.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|LAS Q,Y || $BB || 3 || 4 *&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ANE / ANE&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki procesora ustawiane są wg. operacji argument AND A.&lt;br /&gt;
&amp;lt;br&amp;gt;Rozkaz najpierw wykonuje sumę logiczną argumentu i wartości $EF, następnie operacji AND na rejestrze X i wyniku. W kolejnym kroku z tak otrzymaną wartością wykona AND z A. Wynik w A. &lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ANE #n || $8B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ANX / ANX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje operację argument AND A, wynik zapisuje w A oraz rejetrze X.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ANX #n || $AB || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== CIEKAWOSTKI ==&lt;br /&gt;
*Rozkazy niepublikowane stabilne użyte zostały w grach: [[Alex]], [[Alley Cat]], Flinstone&#039;s Adventures, [[Gallahad]], Ghastly Night, Indiana Jones - The Last Crusade, Jurassic Park, Landscape, Leader Board, [[Riot]], SOS Saturn, Terminator, [[Vanguard]].&lt;br /&gt;
*Rozkazy niepublikowane niestabilne użyte zostały w grze G.I.L.P.&lt;br /&gt;
*Bracia Selinger używali niepublikowanych rozkazów we wszystkich swoich grach. &lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Atari 8-bit]]&lt;/div&gt;</summary>
		<author><name>Xxl</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Nieudokumentowane_rozkazy_6502C&amp;diff=32228</id>
		<title>Nieudokumentowane rozkazy 6502C</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Nieudokumentowane_rozkazy_6502C&amp;diff=32228"/>
		<updated>2012-05-02T18:17:38Z</updated>

		<summary type="html">&lt;p&gt;Xxl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Listę niepublikowanych kodów (zwanych również rozkazami nielegalnymi) [[6502C]] [[SALLY]] można podzielić na dwie grupy. [[Nieudokumentowane_rozkazy_6502C#KODY STABILNE|Kody stabilne]] (&amp;lt;span style=&amp;quot;color: green&amp;quot;&amp;gt;zielone&amp;lt;/span&amp;gt;) działają na wszystkich komputerach Atari serii [[XL]]/[[XE]] oraz tej części modeli [[400]]/[[800]] w której montowano procesor [[6502C]] [[SALLY]], natomiast [[Nieudokumentowane_rozkazy_6502C#KODY NIESTABILNE|kody niestabilne]] (&amp;lt;span style=&amp;quot;color: red&amp;quot;&amp;gt;czerwone&amp;lt;/span&amp;gt;) na procesorze [[6502C]] działają w sposób nieprzewidywalny.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot;&lt;br /&gt;
! width=&amp;quot;65px&amp;quot; | KOD !! width=&amp;quot;65px&amp;quot; | +00 !! +01 !! width=&amp;quot;65px&amp;quot; | +02 !! width=&amp;quot;65px&amp;quot; | +03 !! width=&amp;quot;65px&amp;quot; | +04 !! +05 !! +06 !! width=&amp;quot;65px&amp;quot; | +07 !! +08 !! width=&amp;quot;65px&amp;quot; | +09 !! width=&amp;quot;65px&amp;quot; | +0A !! width=&amp;quot;65px&amp;quot; | +0B !! width=&amp;quot;65px&amp;quot; | +0C !! +0D !! width=&amp;quot;65px&amp;quot; | +0E !! width=&amp;quot;65px&amp;quot; | +0F&lt;br /&gt;
|-&lt;br /&gt;
! +00 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | ASO (Z,X) || style=&amp;quot;color:GREEN&amp;quot; | DOP Z ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ANC #n || style=&amp;quot;color:GREEN&amp;quot; | TOP Q ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Q&lt;br /&gt;
|-&lt;br /&gt;
! +10 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | ASO (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | ASO Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +20 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RLN (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ANC #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Q&lt;br /&gt;
|-&lt;br /&gt;
! +30 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RLN (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | RLN Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +40 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | LSE (Z,X) || style=&amp;quot;color:GREEN&amp;quot; | DOP Z ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ALR #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Q    &lt;br /&gt;
|-&lt;br /&gt;
! +50 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | LSE (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | LSE Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +60 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RRD (Z,X) || style=&amp;quot;color:GREEN&amp;quot; | DOP Z ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ARR #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Q&lt;br /&gt;
|-&lt;br /&gt;
! +70 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RRD (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | RRD Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +80 || style=&amp;quot;color:GREEN&amp;quot; | DOP #n ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n || style=&amp;quot;color:GREEN&amp;quot; | SAX (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SAX Z ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n ||     || style=&amp;quot;color:RED&amp;quot; | ANE #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SAX Q&lt;br /&gt;
|-&lt;br /&gt;
! +90 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:RED&amp;quot; | SHA (Z),Y||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SAX Z,Y ||     ||     ||     || style=&amp;quot;color:RED&amp;quot; | SHS Q,Y || style=&amp;quot;color:GREEN&amp;quot; | SHY Q,X ||     || style=&amp;quot;color:GREEN&amp;quot; | SHX Q,Y || style=&amp;quot;color:RED&amp;quot; | SHA Q,Y &lt;br /&gt;
|-&lt;br /&gt;
! +A0 ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Z ||     ||     ||     || style=&amp;quot;color:RED&amp;quot; | ANX #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Q&lt;br /&gt;
|-&lt;br /&gt;
! +B0 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | LAX (Z),Y ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Z,Y ||     ||     ||     || style=&amp;quot;color:RED&amp;quot; | LAS Q,Y ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Q,Y &lt;br /&gt;
|-&lt;br /&gt;
! +C0 ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n || style=&amp;quot;color:GREEN&amp;quot; | DCP (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SBX #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Q&lt;br /&gt;
|-&lt;br /&gt;
! +D0 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | DCP (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | DCP Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Q,X  &lt;br /&gt;
|-&lt;br /&gt;
! +E0 ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n || style=&amp;quot;color:GREEN&amp;quot; | ISB (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SBC #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Q&lt;br /&gt;
|-&lt;br /&gt;
! +F0 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | ISB (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | ISB Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Q,X &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Legenda:&lt;br /&gt;
&amp;lt;br&amp;gt;n - dane w trybie natychmiastowym,&lt;br /&gt;
&amp;lt;br&amp;gt;Q - adres dwubajtowy,&lt;br /&gt;
&amp;lt;br&amp;gt;Z - adres jednobajtowy danych lub adresu pośredniego,&lt;br /&gt;
&amp;lt;br&amp;gt;* - dodać cykl przy zmianie strony.&lt;br /&gt;
&amp;lt;br&amp;gt;Użyto mnemoników stosowanych w makroassemblerze [[MADS]] oraz monitorze emulatora [[Atari800Win_PLus|Atari800Win PLus]].&lt;br /&gt;
&lt;br /&gt;
== KODY STABILNE ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ANC / ANC&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej. Znacznik C ustawiany tak jak N.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
| ANC #n || $0B || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ANC #n || $2B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SAX / SAX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND pomiędzy A i rejestrem X, wynik zapisuje w pamięci. Rejestry A i X pozostają niezmienione.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SAX Z || $87 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|SAX Z,Y || $97 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|SAX (Z,X) || $83 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|SAX Q || $8F || 3 || 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ALR / ALR&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej, następnie LSR @.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ALR #n || $4B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SBX / SBX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND pomiędzy rejestrem X i A, wynik w rejestrze X.&lt;br /&gt;
Znacznik C ustawiany gdy zawartość rejestru X jest większa lub równa danej.&lt;br /&gt;
Od rejestru X odejmuje daną (bez pożyczki).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SBX #n || $CB || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;DCM / DCP&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Zmniejsza o jeden wartość bajtu pamięci następnie wykonuje CMP na A i tej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|DCP Z || $C7 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|DCP Z,X || $D7 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|DCP Q || $CF || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|DCP Q,X || $DF || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|DCP Q,Y || $DB || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|DCP (Z,X) || $C3 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|DCP (Z),Y || $D3 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;INS / ISB&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Zwiększa o jeden zawartość pamięci. Od A odejmuje wartość pamięci (z pożyczką).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ISB Z || $E7 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|ISB Z,X || $F7 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ISB Q || $EF || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ISB Q,X || $FF || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ISB Q,Y || $FB || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ISB (Z,X) || $E3 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|ISB (Z),Y || $F3 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NOP / NPO&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Niepublikowany NOP&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $1A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $3A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $5A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $7A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $DA || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $FA || 1 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NOP / NPO (DOP)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Dwubajtowy NOP&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z || $04 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $14 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $34 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z || $44 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $54 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z || $64 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $74 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $80 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $82 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $89 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $C2 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $D4 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $E2 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $F4 || 2 || 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NOP / NPO (TOP)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Trzybajtowy NOP&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q || $0C || 3 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $1C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $3C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $5C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $7C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $DC || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $FC || 3 || 4 *&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SBC / SBC (?)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Niepublikowany SBC #n.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SBC #n || $EB || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;LAX / LAX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Załaduje daną do A i rejestru X.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|LAX Z || $A7 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|LAX Z,Y || $B7 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|LAX Q || $AF || 3 || 4&lt;br /&gt;
|-&lt;br /&gt;
|LAX Q,Y || $BF || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|LAX (Z,X) || $A3 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|LAX (Z),Y || $B3 || 2 || 5 *&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;RLA / RLN&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje ROL na pamięci, następnie AND z A (wynik w A).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|RLN Z || $27 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|RLN Z,X || $37 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RLN Q || $2F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RLN Q,X || $3F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RLN Q,Y || $3B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RLN (Z,X) || $23 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|RLN (Z),Y || $33 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;RRA / RRD&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje ROR na pamięci, następnie ADC z A (wynik w A).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|RRD Z || $67 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|RRD Z,X || $77 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RRD Q || $6F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RRD Q,X || $7F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RRD Q,Y || $7B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RRD (Z,X) || $63 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|RRD (Z),Y || $73 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ASO / ASO&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje ASL na pamięci, następnie ORA z A (wynik w A).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ASO Z || $07 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|ASO Z,X || $17 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ASO Q || $0F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ASO Q,X || $1F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ASO Q,Y || $1B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ASO (Z,X) || $03 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|ASO (Z),Y || $13 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;LSE / LSE&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje LSR na pamięci, następnie EOR z A (wynik w A). &lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|LSE Z || $47 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|LSE Z,X ||$57 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|LSE Q || $4F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|LSE Q,X || $5F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|LSE Q,Y || $5B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|LSE (Z,X) || $43 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|LSE (Z),Y || $53 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHX / SHX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do starszego bajtu adresu dodaje jeden i wykonuje AND z rejestrem X.&lt;br /&gt;
Tak otrzymaną wartość zapisuje w pamięci.&lt;br /&gt;
Jeśli nastąpiło przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHX Q,Y || $9E || 3 || 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHY / SHY&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do starszego bajtu adresu dodaje jeden i wykonuje AND z rejestrem Y.&lt;br /&gt;
Tak otrzymana wartość zapisuje w pamięci.&lt;br /&gt;
Jeśli nastąpiło przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHY Q,X || $9C || 3 || 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ARR / ARR&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Gdy znacznik D=0 rozkaz działa następująco:&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej po czym ROR.&lt;br /&gt;
&amp;lt;br&amp;gt;Znacznik C wpisuje do b7, b6 do znacznika C, do V b6 EOR b5.&lt;br /&gt;
&amp;lt;br&amp;gt;Gdy znacznik D=1 rozkaz:&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej (cząstkowy wynik w postaci młodszego i starszego nibbla przechowuje) następnie wykonuje ROR @.&lt;br /&gt;
&amp;lt;br&amp;gt;Jeśli wartość młodszego nibbla cząstkowego wyniku powiększona o jego b0 będzie większa lub równa od 5 to &lt;br /&gt;
młodszy nibbel wyniku w A zostanie zwiększony o 6, przy czym cząstkowe przeniesienie do starszego nibbla zostanie utracone.&lt;br /&gt;
&amp;lt;br&amp;gt;Podobnie starszy nibbel cząstkowego wyniku, jeśli wartość po zwiększeniu o b0 będzie większa lub równa 5&lt;br /&gt;
to starszy nibbel wyniku w A zwiększony będzie o 6 a dodatkowo znacznik C zostanie ustawiony, jeśli nie było korekty&lt;br /&gt;
starszego nibbla wyniku znacznik C będzie skasowany.&lt;br /&gt;
&amp;lt;br&amp;gt;Flaga V ustawiona gdy w b6 zmieni swoj stan po AND i ROR, kasowany w przeciwnym wypadku.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ARR #n || $6B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== KODY NIESTABILNE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;CIM / CIM&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Blokuje procesor.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $02 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $12 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $22 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $32 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $42 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $52 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $62 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $72 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $92 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $B2 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $D2 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $F2 || 1 || -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHA / SHA&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do starszego bajtu adresu dodaje jeden i wykonuje AND z A, następnie AND z rejestrem X.&lt;br /&gt;
Tak otrzymaną wartość zapisuje w pamięci.&lt;br /&gt;
Jeśli nastąpi przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHA Q,Y || $9F || 3 || 5&lt;br /&gt;
|-&lt;br /&gt;
|SHA (Z),Y || $93 || 2 || 6&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHS / SHS&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do rejestru S zapisuje wynik operacji A AND X następnie do starszego bajtu adresu dodaje&lt;br /&gt;
jeden, wykonuje AND z S i zapisuje wynik w pamięci.&lt;br /&gt;
Jeśli nastąpi przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHS Q,Y || $9B || 3 || 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;LAS / LAS&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na zawartości pamięci i rejestru S, wynik zapisuje w rejestrach A, X, S.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|LAS Q,Y || $BB || 3 || 4 *&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ANE / ANE&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki procesora ustawiane są wg. operacji argument AND A.&lt;br /&gt;
&amp;lt;br&amp;gt;Rozkaz najpierw wykonuje sumę logiczną argumentu i wartości $EF, następnie operacji AND na rejestrze X i wyniku. W kolejnym kroku z tak otrzymaną wartością wykona AND z A. Wynik w A. &lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ANE #n || $8B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ANX / ANX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje operację argument AND A, wynik zapisuje w A oraz rejetrze X.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ANX #n || $AB || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== CIEKAWOSTKI ==&lt;br /&gt;
*Rozkazy niepublikowane stabilne użyte zostały w grach: [[Alex]], [[Alley Cat]], [[Gallahad]], Ghastly Night, Indiana Jones - The Last Crusade, Jurassic Park, Landscape, Leader Board, [[Riot]], SOS Saturn, Terminator, [[Vanguard]].&lt;br /&gt;
*Rozkazy niepublikowane niestabilne użyte zostały w grze G.I.L.P.&lt;br /&gt;
*Bracia Selinger używali niepublikowanych rozkazów we wszystkich swoich grach. &lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Atari 8-bit]]&lt;/div&gt;</summary>
		<author><name>Xxl</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Riot_(gra)&amp;diff=32227</id>
		<title>Riot (gra)</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Riot_(gra)&amp;diff=32227"/>
		<updated>2012-05-02T12:50:42Z</updated>

		<summary type="html">&lt;p&gt;Xxl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{grafr|riot.gif}}Dobrze wiesz, że to nie Twoje osiedle i z pewnością nie jesteś tu mile widziany. Wiesz także, że gdzieś tam ukrywa się ten, który wczoraj załatwił Twojego najlepszego kumpla strzałem w tył głowy i to tylko dlatego, że ten się krzywo spojrzał. Po drodze cała masa skinów, facetów w kaskach, pałkarzy, mięśniaków, dresów oraz innych przedstawicieli przeróżnych subkultur. Możesz liczyć tylko na swoje pięści, łokcie i kolana. No i jeszcze łut szczęścia na drogę. Za kolegę!&lt;br /&gt;
&lt;br /&gt;
Gra została stworzona przez grupę [[Brothers Production]] w 1992 roku i wydana w tymże przez [[Domain Software]]. Wcielasz się w niej w punka szukającego zemsty na obcym osiedlu. Sterując joystickiem poszuszamy się w lewo i (zwłaszcza) w prawa, natomiast w kombinacji z FIRE możemy zadawać ciosy przeciwnikom (zarówno w kierunku, w którym jesteśmy zwróceni, jak i &amp;quot;do tyłu&amp;quot;). Należy też &amp;quot;wyczuć&amp;quot; danego przeciwnika, bowiem ma on jakiś swój słaby punkt i na niektóre ciosy jest bardziej podatny. Nie można także zapomnieć o energii, której wykres widnieje pod ekranem akcji (jaśniejszy pasek to zdrowie bohatera, ciemniejszy - przeciwnika[ów]), no i o tym, że mamy zdolność regeneracji tylko do pewnego stopnia. Pocieszające jest to jednak, że co 10.000 punktów otrzymujemy &amp;quot;dodatkowe życie&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Autorzy:&lt;br /&gt;
*Bartek Selinger - kod&lt;br /&gt;
*Paweł Selinger - grafika&lt;br /&gt;
*[[Top Odin]] - muzyka&lt;br /&gt;
&lt;br /&gt;
==Technikalia==&lt;br /&gt;
Gra wykorzystuje [[Nieudokumentowane_rozkazy_6502C|niepublikowane rozkazy 6502C]].&lt;br /&gt;
&lt;br /&gt;
==Cheaty==&lt;br /&gt;
Wpisanie na ekranie tytułowym kodu &#039;&#039;&#039;ZYCIE TO WALKA&#039;&#039;&#039; daje nieskończoną liczbę żyć.&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Gry dla Atari 8-bit]]&lt;br /&gt;
[[Kategoria:Gry zręcznościowe]]&lt;br /&gt;
[[Kategoria:Polskie gry]]&lt;/div&gt;</summary>
		<author><name>Xxl</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Nieudokumentowane_rozkazy_6502C&amp;diff=32226</id>
		<title>Nieudokumentowane rozkazy 6502C</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Nieudokumentowane_rozkazy_6502C&amp;diff=32226"/>
		<updated>2012-05-02T12:46:47Z</updated>

		<summary type="html">&lt;p&gt;Xxl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Listę niepublikowanych kodów (zwanych również rozkazami nielegalnymi) [[6502C]] [[SALLY]] można podzielić na dwie grupy. [[Nieudokumentowane_rozkazy_6502C#KODY STABILNE|Kody stabilne]] (&amp;lt;span style=&amp;quot;color: green&amp;quot;&amp;gt;zielone&amp;lt;/span&amp;gt;) działają na wszystkich komputerach Atari serii [[XL]]/[[XE]] oraz tej części modeli [[400]]/[[800]] w której montowano procesor [[6502C]] [[SALLY]], natomiast [[Nieudokumentowane_rozkazy_6502C#KODY NIESTABILNE|kody niestabilne]] (&amp;lt;span style=&amp;quot;color: red&amp;quot;&amp;gt;czerwone&amp;lt;/span&amp;gt;) na procesorze [[6502C]] działają w sposób nieprzewidywalny.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot;&lt;br /&gt;
! width=&amp;quot;65px&amp;quot; | KOD !! width=&amp;quot;65px&amp;quot; | +00 !! +01 !! width=&amp;quot;65px&amp;quot; | +02 !! width=&amp;quot;65px&amp;quot; | +03 !! width=&amp;quot;65px&amp;quot; | +04 !! +05 !! +06 !! width=&amp;quot;65px&amp;quot; | +07 !! +08 !! width=&amp;quot;65px&amp;quot; | +09 !! width=&amp;quot;65px&amp;quot; | +0A !! width=&amp;quot;65px&amp;quot; | +0B !! width=&amp;quot;65px&amp;quot; | +0C !! +0D !! width=&amp;quot;65px&amp;quot; | +0E !! width=&amp;quot;65px&amp;quot; | +0F&lt;br /&gt;
|-&lt;br /&gt;
! +00 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | ASO (Z,X) || style=&amp;quot;color:GREEN&amp;quot; | DOP Z ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ANC #n || style=&amp;quot;color:GREEN&amp;quot; | TOP Q ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Q&lt;br /&gt;
|-&lt;br /&gt;
! +10 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | ASO (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | ASO Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +20 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RLN (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ANC #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Q&lt;br /&gt;
|-&lt;br /&gt;
! +30 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RLN (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | RLN Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +40 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | LSE (Z,X) || style=&amp;quot;color:GREEN&amp;quot; | DOP Z ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ALR #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Q    &lt;br /&gt;
|-&lt;br /&gt;
! +50 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | LSE (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | LSE Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +60 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RRD (Z,X) || style=&amp;quot;color:GREEN&amp;quot; | DOP Z ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ARR #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Q&lt;br /&gt;
|-&lt;br /&gt;
! +70 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RRD (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | RRD Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +80 || style=&amp;quot;color:GREEN&amp;quot; | DOP #n ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n || style=&amp;quot;color:GREEN&amp;quot; | SAX (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SAX Z ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n ||     || style=&amp;quot;color:RED&amp;quot; | ANE #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SAX Q&lt;br /&gt;
|-&lt;br /&gt;
! +90 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:RED&amp;quot; | SHA (Z),Y||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SAX Z,Y ||     ||     ||     || style=&amp;quot;color:RED&amp;quot; | SHS Q,Y || style=&amp;quot;color:GREEN&amp;quot; | SHY Q,X ||     || style=&amp;quot;color:GREEN&amp;quot; | SHX Q,Y || style=&amp;quot;color:RED&amp;quot; | SHA Q,Y &lt;br /&gt;
|-&lt;br /&gt;
! +A0 ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Z ||     ||     ||     || style=&amp;quot;color:RED&amp;quot; | ANX #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Q&lt;br /&gt;
|-&lt;br /&gt;
! +B0 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | LAX (Z),Y ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Z,Y ||     ||     ||     || style=&amp;quot;color:RED&amp;quot; | LAS Q,Y ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Q,Y &lt;br /&gt;
|-&lt;br /&gt;
! +C0 ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n || style=&amp;quot;color:GREEN&amp;quot; | DCP (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SBX #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Q&lt;br /&gt;
|-&lt;br /&gt;
! +D0 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | DCP (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | DCP Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Q,X  &lt;br /&gt;
|-&lt;br /&gt;
! +E0 ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n || style=&amp;quot;color:GREEN&amp;quot; | ISB (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SBC #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Q&lt;br /&gt;
|-&lt;br /&gt;
! +F0 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | ISB (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | ISB Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Q,X &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Legenda:&lt;br /&gt;
&amp;lt;br&amp;gt;n - dane w trybie natychmiastowym,&lt;br /&gt;
&amp;lt;br&amp;gt;Q - adres dwubajtowy,&lt;br /&gt;
&amp;lt;br&amp;gt;Z - adres jednobajtowy danych lub adresu pośredniego,&lt;br /&gt;
&amp;lt;br&amp;gt;* - dodać cykl przy zmianie strony.&lt;br /&gt;
&amp;lt;br&amp;gt;Użyto mnemoników stosowanych w makroassemblerze [[MADS]] oraz monitorze emulatora [[Atari800Win_PLus|Atari800Win PLus]].&lt;br /&gt;
&lt;br /&gt;
== KODY STABILNE ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ANC / ANC&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej. Znacznik C ustawiany tak jak N.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
| ANC #n || $0B || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ANC #n || $2B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SAX / SAX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND pomiędzy A i rejestrem X, wynik zapisuje w pamięci. Rejestry A i X pozostają niezmienione.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SAX Z || $87 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|SAX Z,Y || $97 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|SAX (Z,X) || $83 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|SAX Q || $8F || 3 || 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ALR / ALR&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej, następnie LSR @.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ALR #n || $4B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SBX / SBX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND pomiędzy rejestrem X i A, wynik w rejestrze X.&lt;br /&gt;
Znacznik C ustawiany gdy zawartość rejestru X jest większa lub równa danej.&lt;br /&gt;
Od rejestru X odejmuje daną (bez pożyczki).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SBX #n || $CB || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;DCM / DCP&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Zmniejsza o jeden wartość bajtu pamięci następnie wykonuje CMP na A i tej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|DCP Z || $C7 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|DCP Z,X || $D7 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|DCP Q || $CF || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|DCP Q,X || $DF || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|DCP Q,Y || $DB || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|DCP (Z,X) || $C3 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|DCP (Z),Y || $D3 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;INS / ISB&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Zwiększa o jeden zawartość pamięci. Od A odejmuje wartość pamięci (z pożyczką).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ISB Z || $E7 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|ISB Z,X || $F7 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ISB Q || $EF || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ISB Q,X || $FF || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ISB Q,Y || $FB || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ISB (Z,X) || $E3 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|ISB (Z),Y || $F3 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NOP / NPO&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Niepublikowany NOP&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $1A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $3A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $5A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $7A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $DA || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $FA || 1 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NOP / NPO (DOP)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Dwubajtowy NOP&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z || $04 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $14 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $34 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z || $44 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $54 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z || $64 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $74 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $80 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $82 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $89 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $C2 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $D4 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $E2 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $F4 || 2 || 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NOP / NPO (TOP)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Trzybajtowy NOP&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q || $0C || 3 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $1C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $3C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $5C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $7C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $DC || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $FC || 3 || 4 *&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SBC / SBC (?)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Niepublikowany SBC #n.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SBC #n || $EB || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;LAX / LAX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Załaduje daną do A i rejestru X.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|LAX Z || $A7 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|LAX Z,Y || $B7 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|LAX Q || $AF || 3 || 4&lt;br /&gt;
|-&lt;br /&gt;
|LAX Q,Y || $BF || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|LAX (Z,X) || $A3 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|LAX (Z),Y || $B3 || 2 || 5 *&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;RLA / RLN&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje ROL na pamięci, następnie AND z A (wynik w A).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|RLN Z || $27 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|RLN Z,X || $37 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RLN Q || $2F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RLN Q,X || $3F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RLN Q,Y || $3B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RLN (Z,X) || $23 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|RLN (Z),Y || $33 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;RRA / RRD&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje ROR na pamięci, następnie ADC z A (wynik w A).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|RRD Z || $67 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|RRD Z,X || $77 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RRD Q || $6F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RRD Q,X || $7F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RRD Q,Y || $7B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RRD (Z,X) || $63 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|RRD (Z),Y || $73 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ASO / ASO&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje ASL na pamięci, następnie ORA z A (wynik w A).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ASO Z || $07 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|ASO Z,X || $17 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ASO Q || $0F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ASO Q,X || $1F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ASO Q,Y || $1B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ASO (Z,X) || $03 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|ASO (Z),Y || $13 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;LSE / LSE&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje LSR na pamięci, następnie EOR z A (wynik w A). &lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|LSE Z || $47 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|LSE Z,X ||$57 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|LSE Q || $4F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|LSE Q,X || $5F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|LSE Q,Y || $5B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|LSE (Z,X) || $43 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|LSE (Z),Y || $53 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHX / SHX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do starszego bajtu adresu dodaje jeden i wykonuje AND z rejestrem X.&lt;br /&gt;
Tak otrzymaną wartość zapisuje w pamięci.&lt;br /&gt;
Jeśli nastąpiło przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHX Q,Y || $9E || 3 || 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHY / SHY&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do starszego bajtu adresu dodaje jeden i wykonuje AND z rejestrem Y.&lt;br /&gt;
Tak otrzymana wartość zapisuje w pamięci.&lt;br /&gt;
Jeśli nastąpiło przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHY Q,X || $9C || 3 || 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ARR / ARR&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Gdy znacznik D=0 rozkaz działa następująco:&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej po czym ROR.&lt;br /&gt;
&amp;lt;br&amp;gt;Znacznik C wpisuje do b7, b6 do znacznika C, do V b6 EOR b5.&lt;br /&gt;
&amp;lt;br&amp;gt;Gdy znacznik D=1 rozkaz:&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej (cząstkowy wynik w postaci młodszego i starszego nibbla przechowuje) następnie wykonuje ROR @.&lt;br /&gt;
&amp;lt;br&amp;gt;Jeśli wartość młodszego nibbla cząstkowego wyniku powiększona o jego b0 będzie większa lub równa od 5 to &lt;br /&gt;
młodszy nibbel wyniku w A zostanie zwiększony o 6, przy czym cząstkowe przeniesienie do starszego nibbla zostanie utracone.&lt;br /&gt;
&amp;lt;br&amp;gt;Podobnie starszy nibbel cząstkowego wyniku, jeśli wartość po zwiększeniu o b0 będzie większa lub równa 5&lt;br /&gt;
to starszy nibbel wyniku w A zwiększony będzie o 6 a dodatkowo znacznik C zostanie ustawiony, jeśli nie było korekty&lt;br /&gt;
starszego nibbla wyniku znacznik C będzie skasowany.&lt;br /&gt;
&amp;lt;br&amp;gt;Flaga V ustawiona gdy w b6 zmieni swoj stan po AND i ROR, kasowany w przeciwnym wypadku.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ARR #n || $6B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== KODY NIESTABILNE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;CIM / CIM&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Blokuje procesor.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $02 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $12 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $22 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $32 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $42 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $52 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $62 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $72 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $92 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $B2 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $D2 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $F2 || 1 || -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHA / SHA&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do starszego bajtu adresu dodaje jeden i wykonuje AND z A, następnie AND z rejestrem X.&lt;br /&gt;
Tak otrzymaną wartość zapisuje w pamięci.&lt;br /&gt;
Jeśli nastąpi przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHA Q,Y || $9F || 3 || 5&lt;br /&gt;
|-&lt;br /&gt;
|SHA (Z),Y || $93 || 2 || 6&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHS / SHS&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do rejestru S zapisuje wynik operacji A AND X następnie do starszego bajtu adresu dodaje&lt;br /&gt;
jeden, wykonuje AND z S i zapisuje wynik w pamięci.&lt;br /&gt;
Jeśli nastąpi przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHS Q,Y || $9B || 3 || 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;LAS / LAS&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na zawartości pamięci i rejestru S, wynik zapisuje w rejestrach A, X, S.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|LAS Q,Y || $BB || 3 || 4 *&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ANE / ANE&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki procesora ustawiane są wg. operacji argument AND A.&lt;br /&gt;
&amp;lt;br&amp;gt;Rozkaz najpierw wykonuje sumę logiczną argumentu i wartości $EF, następnie operacji AND na rejestrze X i wyniku. W kolejnym kroku z tak otrzymaną wartością wykona AND z A. Wynik w A. &lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ANE #n || $8B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ANX / ANX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje operację argument AND A, wynik zapisuje w A oraz rejetrze X.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ANX #n || $AB || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== CIEKAWOSTKI ==&lt;br /&gt;
*Rozkazy niepublikowane stabilne użyte zostały w grach: [[Alex]], [[Alley Cat]], [[Gallahad]], Indiana Jones - The Last Crusade, Jurassic Park, Landscape, Leader Board, [[Riot]], SOS Saturn, Terminator, [[Vanguard]].&lt;br /&gt;
*Rozkazy niepublikowane niestabilne użyte zostały w grze G.I.L.P.&lt;br /&gt;
*Bracia Selinger używali niepublikowanych rozkazów we wszystkich swoich grach. &lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Atari 8-bit]]&lt;/div&gt;</summary>
		<author><name>Xxl</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Riot_(gra)&amp;diff=32225</id>
		<title>Riot (gra)</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Riot_(gra)&amp;diff=32225"/>
		<updated>2012-05-02T12:35:08Z</updated>

		<summary type="html">&lt;p&gt;Xxl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{grafr|riot.gif}}Dobrze wiesz, że to nie Twoje osiedle i z pewnością nie jesteś tu mile widziany. Wiesz także, że gdzieś tam ukrywa się ten, który wczoraj załatwił Twojego najlepszego kumpla strzałem w tył głowy i to tylko dlatego, że ten się krzywo spojrzał. Po drodze cała masa skinów, facetów w kaskach, pałkarzy, mięśniaków, dresów oraz innych przedstawicieli przeróżnych subkultur. Możesz liczyć tylko na swoje pięści, łokcie i kolana. No i jeszcze łut szczęścia na drogę. Za kolegę!&lt;br /&gt;
&lt;br /&gt;
Gra została stworzona przez grupę [[Brothers Production]] w 1992 roku i wydana w tymże przez [[Domain Software]]. Wcielasz się w niej w punka szukającego zemsty na obcym osiedlu. Sterując joystickiem poszuszamy się w lewo i (zwłaszcza) w prawa, natomiast w kombinacji z FIRE możemy zadawać ciosy przeciwnikom (zarówno w kierunku, w którym jesteśmy zwróceni, jak i &amp;quot;do tyłu&amp;quot;). Należy też &amp;quot;wyczuć&amp;quot; danego przeciwnika, bowiem ma on jakiś swój słaby punkt i na niektóre ciosy jest bardziej podatny. Nie można także zapomnieć o energii, której wykres widnieje pod ekranem akcji (jaśniejszy pasek to zdrowie bohatera, ciemniejszy - przeciwnika[ów]), no i o tym, że mamy zdolność regeneracji tylko do pewnego stopnia. Pocieszające jest to jednak, że co 10.000 punktów otrzymujemy &amp;quot;dodatkowe życie&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Autorzy:&lt;br /&gt;
*Bartek Selinger - kod&lt;br /&gt;
*Paweł Selinger - grafika&lt;br /&gt;
*[[Top Odin]] - muzyka&lt;br /&gt;
&lt;br /&gt;
==Technikalia==&lt;br /&gt;
Gra wykorzystuje [[Nieudokumentowane_rozkazy_6502C|niepublikowane rozkazy]] [[6502]].&lt;br /&gt;
&lt;br /&gt;
==Cheaty==&lt;br /&gt;
Wpisanie na ekranie tytułowym kodu &#039;&#039;&#039;ZYCIE TO WALKA&#039;&#039;&#039; daje nieskończoną liczbę żyć.&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Gry dla Atari 8-bit]]&lt;br /&gt;
[[Kategoria:Gry zręcznościowe]]&lt;br /&gt;
[[Kategoria:Polskie gry]]&lt;/div&gt;</summary>
		<author><name>Xxl</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Nieudokumentowane_rozkazy_6502C&amp;diff=32218</id>
		<title>Nieudokumentowane rozkazy 6502C</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Nieudokumentowane_rozkazy_6502C&amp;diff=32218"/>
		<updated>2012-04-25T20:08:28Z</updated>

		<summary type="html">&lt;p&gt;Xxl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Listę niepublikowanych kodów (zwanych również rozkazami nielegalnymi) [[6502C]] [[SALLY]] można podzielić na dwie grupy. [[Nieudokumentowane_rozkazy_6502C#KODY STABILNE|Kody stabilne]] (&amp;lt;span style=&amp;quot;color: green&amp;quot;&amp;gt;zielone&amp;lt;/span&amp;gt;) działają na wszystkich komputerach Atari serii [[XL]]/[[XE]] oraz tej części modeli [[400]]/[[800]] w której montowano procesor [[6502C]] [[SALLY]], natomiast [[Nieudokumentowane_rozkazy_6502C#KODY NIESTABILNE|kody niestabilne]] (&amp;lt;span style=&amp;quot;color: red&amp;quot;&amp;gt;czerwone&amp;lt;/span&amp;gt;) na procesorze [[6502C]] działają w sposób nieprzewidywalny.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot;&lt;br /&gt;
! width=&amp;quot;65px&amp;quot; | KOD !! width=&amp;quot;65px&amp;quot; | +00 !! +01 !! width=&amp;quot;65px&amp;quot; | +02 !! width=&amp;quot;65px&amp;quot; | +03 !! width=&amp;quot;65px&amp;quot; | +04 !! +05 !! +06 !! width=&amp;quot;65px&amp;quot; | +07 !! +08 !! width=&amp;quot;65px&amp;quot; | +09 !! width=&amp;quot;65px&amp;quot; | +0A !! width=&amp;quot;65px&amp;quot; | +0B !! width=&amp;quot;65px&amp;quot; | +0C !! +0D !! width=&amp;quot;65px&amp;quot; | +0E !! width=&amp;quot;65px&amp;quot; | +0F&lt;br /&gt;
|-&lt;br /&gt;
! +00 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | ASO (Z,X) || style=&amp;quot;color:GREEN&amp;quot; | DOP Z ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ANC #n || style=&amp;quot;color:GREEN&amp;quot; | TOP Q ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Q&lt;br /&gt;
|-&lt;br /&gt;
! +10 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | ASO (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | ASO Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +20 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RLN (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ANC #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Q&lt;br /&gt;
|-&lt;br /&gt;
! +30 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RLN (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | RLN Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +40 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | LSE (Z,X) || style=&amp;quot;color:GREEN&amp;quot; | DOP Z ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ALR #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Q    &lt;br /&gt;
|-&lt;br /&gt;
! +50 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | LSE (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | LSE Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +60 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RRD (Z,X) || style=&amp;quot;color:GREEN&amp;quot; | DOP Z ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ARR #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Q&lt;br /&gt;
|-&lt;br /&gt;
! +70 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RRD (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | RRD Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +80 || style=&amp;quot;color:GREEN&amp;quot; | DOP #n ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n || style=&amp;quot;color:GREEN&amp;quot; | SAX (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SAX Z ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n ||     || style=&amp;quot;color:RED&amp;quot; | ANE #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SAX Q&lt;br /&gt;
|-&lt;br /&gt;
! +90 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:RED&amp;quot; | SHA (Z),Y||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SAX Z,Y ||     ||     ||     || style=&amp;quot;color:RED&amp;quot; | SHS Q,Y || style=&amp;quot;color:GREEN&amp;quot; | SHY Q,X ||     || style=&amp;quot;color:GREEN&amp;quot; | SHX Q,Y || style=&amp;quot;color:RED&amp;quot; | SHA Q,Y &lt;br /&gt;
|-&lt;br /&gt;
! +A0 ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Z ||     ||     ||     || style=&amp;quot;color:RED&amp;quot; | ANX #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Q&lt;br /&gt;
|-&lt;br /&gt;
! +B0 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | LAX (Z),Y ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Z,Y ||     ||     ||     || style=&amp;quot;color:RED&amp;quot; | LAS Q,Y ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Q,Y &lt;br /&gt;
|-&lt;br /&gt;
! +C0 ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n || style=&amp;quot;color:GREEN&amp;quot; | DCP (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SBX #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Q&lt;br /&gt;
|-&lt;br /&gt;
! +D0 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | DCP (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | DCP Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Q,X  &lt;br /&gt;
|-&lt;br /&gt;
! +E0 ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n || style=&amp;quot;color:GREEN&amp;quot; | ISB (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SBC #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Q&lt;br /&gt;
|-&lt;br /&gt;
! +F0 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | ISB (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | ISB Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Q,X &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Legenda:&lt;br /&gt;
&amp;lt;br&amp;gt;n - dane w trybie natychmiastowym,&lt;br /&gt;
&amp;lt;br&amp;gt;Q - adres dwubajtowy,&lt;br /&gt;
&amp;lt;br&amp;gt;Z - adres jednobajtowy danych lub adresu pośredniego,&lt;br /&gt;
&amp;lt;br&amp;gt;* - dodać cykl przy zmianie strony.&lt;br /&gt;
&amp;lt;br&amp;gt;Użyto mnemoników stosowanych w makroassemblerze [[MADS]] oraz monitorze emulatora [[Atari800Win_PLus|Atari800Win PLus]].&lt;br /&gt;
&lt;br /&gt;
== KODY STABILNE ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ANC / ANC&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej. Znacznik C ustawiany tak jak N.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
| ANC #n || $0B || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ANC #n || $2B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SAX / SAX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND pomiędzy A i rejestrem X, wynik zapisuje w pamięci. Rejestry A i X pozostają niezmienione.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SAX Z || $87 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|SAX Z,Y || $97 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|SAX (Z,X) || $83 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|SAX Q || $8F || 3 || 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ALR / ALR&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej, następnie LSR @.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ALR #n || $4B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SBX / SBX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND pomiędzy rejestrem X i A, wynik w rejestrze X.&lt;br /&gt;
Znacznik C ustawiany gdy zawartość rejestru X jest większa lub równa danej.&lt;br /&gt;
Od rejestru X odejmuje daną (bez pożyczki).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SBX #n || $CB || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;DCM / DCP&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Zmniejsza o jeden wartość bajtu pamięci następnie wykonuje CMP na A i tej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|DCP Z || $C7 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|DCP Z,X || $D7 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|DCP Q || $CF || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|DCP Q,X || $DF || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|DCP Q,Y || $DB || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|DCP (Z,X) || $C3 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|DCP (Z),Y || $D3 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;INS / ISB&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Zwiększa o jeden zawartość pamięci. Od A odejmuje wartość pamięci (z pożyczką).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ISB Z || $E7 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|ISB Z,X || $F7 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ISB Q || $EF || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ISB Q,X || $FF || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ISB Q,Y || $FB || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ISB (Z,X) || $E3 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|ISB (Z),Y || $F3 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NOP / NPO&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Niepublikowany NOP&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $1A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $3A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $5A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $7A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $DA || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $FA || 1 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NOP / NPO (DOP)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Dwubajtowy NOP&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z || $04 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $14 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $34 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z || $44 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $54 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z || $64 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $74 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $80 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $82 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $89 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $C2 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $D4 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $E2 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $F4 || 2 || 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NOP / NPO (TOP)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Trzybajtowy NOP&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q || $0C || 3 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $1C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $3C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $5C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $7C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $DC || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $FC || 3 || 4 *&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SBC / SBC (?)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Niepublikowany SBC #n.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SBC #n || $EB || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;LAX / LAX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Załaduje daną do A i rejestru X.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|LAX Z || $A7 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|LAX Z,Y || $B7 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|LAX Q || $AF || 3 || 4&lt;br /&gt;
|-&lt;br /&gt;
|LAX Q,Y || $BF || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|LAX (Z,X) || $A3 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|LAX (Z),Y || $B3 || 2 || 5 *&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;RLA / RLN&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje ROL na pamięci, następnie AND z A (wynik w A).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|RLN Z || $27 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|RLN Z,X || $37 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RLN Q || $2F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RLN Q,X || $3F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RLN Q,Y || $3B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RLN (Z,X) || $23 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|RLN (Z),Y || $33 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;RRA / RRD&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje ROR na pamięci, następnie ADC z A (wynik w A).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|RRD Z || $67 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|RRD Z,X || $77 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RRD Q || $6F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RRD Q,X || $7F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RRD Q,Y || $7B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RRD (Z,X) || $63 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|RRD (Z),Y || $73 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ASO / ASO&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje ASL na pamięci, następnie ORA z A (wynik w A).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ASO Z || $07 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|ASO Z,X || $17 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ASO Q || $0F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ASO Q,X || $1F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ASO Q,Y || $1B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ASO (Z,X) || $03 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|ASO (Z),Y || $13 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;LSE / LSE&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje LSR na pamięci, następnie EOR z A (wynik w A). &lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|LSE Z || $47 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|LSE Z,X ||$57 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|LSE Q || $4F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|LSE Q,X || $5F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|LSE Q,Y || $5B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|LSE (Z,X) || $43 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|LSE (Z),Y || $53 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHX / SHX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do starszego bajtu adresu dodaje jeden i wykonuje AND z rejestrem X.&lt;br /&gt;
Tak otrzymaną wartość zapisuje w pamięci.&lt;br /&gt;
Jeśli nastąpiło przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHX Q,Y || $9E || 3 || 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHY / SHY&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do starszego bajtu adresu dodaje jeden i wykonuje AND z rejestrem Y.&lt;br /&gt;
Tak otrzymana wartość zapisuje w pamięci.&lt;br /&gt;
Jeśli nastąpiło przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHY Q,X || $9C || 3 || 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ARR / ARR&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Gdy znacznik D=0 rozkaz działa następująco:&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej po czym ROR.&lt;br /&gt;
&amp;lt;br&amp;gt;Znacznik C wpisuje do b7, b6 do znacznika C, do V b6 EOR b5.&lt;br /&gt;
&amp;lt;br&amp;gt;Gdy znacznik D=1 rozkaz:&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej (cząstkowy wynik w postaci młodszego i starszego nibbla przechowuje) następnie wykonuje ROR @.&lt;br /&gt;
&amp;lt;br&amp;gt;Jeśli wartość młodszego nibbla cząstkowego wyniku powiększona o jego b0 będzie większa lub równa od 5 to &lt;br /&gt;
młodszy nibbel wyniku w A zostanie zwiększony o 6, przy czym cząstkowe przeniesienie do starszego nibbla zostanie utracone.&lt;br /&gt;
&amp;lt;br&amp;gt;Podobnie starszy nibbel cząstkowego wyniku, jeśli wartość po zwiększeniu o b0 będzie większa lub równa 5&lt;br /&gt;
to starszy nibbel wyniku w A zwiększony będzie o 6 a dodatkowo znacznik C zostanie ustawiony, jeśli nie było korekty&lt;br /&gt;
starszego nibbla wyniku znacznik C będzie skasowany.&lt;br /&gt;
&amp;lt;br&amp;gt;Flaga V ustawiona gdy w b6 zmieni swoj stan po AND i ROR, kasowany w przeciwnym wypadku.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ARR #n || $6B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== KODY NIESTABILNE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;CIM / CIM&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Blokuje procesor.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $02 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $12 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $22 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $32 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $42 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $52 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $62 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $72 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $92 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $B2 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $D2 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $F2 || 1 || -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHA / SHA&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do starszego bajtu adresu dodaje jeden i wykonuje AND z A, następnie AND z rejestrem X.&lt;br /&gt;
Tak otrzymaną wartość zapisuje w pamięci.&lt;br /&gt;
Jeśli nastąpi przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHA Q,Y || $9F || 3 || 5&lt;br /&gt;
|-&lt;br /&gt;
|SHA (Z),Y || $93 || 2 || 6&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHS / SHS&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do rejestru S zapisuje wynik operacji A AND X następnie do starszego bajtu adresu dodaje&lt;br /&gt;
jeden, wykonuje AND z S i zapisuje wynik w pamięci.&lt;br /&gt;
Jeśli nastąpi przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHS Q,Y || $9B || 3 || 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;LAS / LAS&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na zawartości pamięci i rejestru S, wynik zapisuje w rejestrach A, X, S.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|LAS Q,Y || $BB || 3 || 4 *&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ANE / ANE&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki procesora ustawiane są wg. operacji argument AND A.&lt;br /&gt;
&amp;lt;br&amp;gt;Rozkaz najpierw wykonuje sumę logiczną argumentu i wartości $EF, następnie operacji AND na rejestrze X i wyniku. W kolejnym kroku z tak otrzymaną wartością wykona AND z A. Wynik w A. &lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ANE #n || $8B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ANX / ANX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje operację argument AND A, wynik zapisuje w A oraz rejetrze X.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ANX #n || $AB || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== CIEKAWOSTKI ==&lt;br /&gt;
*Rozkazy niepublikowane stabilne użyte zostały w grach: Alex, [[Alley Cat]], Landscape, [[Vanguard]].&lt;br /&gt;
*Rozkazy niepublikowane niestabilne użyte zostały w grze G.I.L.P.&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Atari 8-bit]]&lt;/div&gt;</summary>
		<author><name>Xxl</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Nieudokumentowane_rozkazy_6502C&amp;diff=32217</id>
		<title>Nieudokumentowane rozkazy 6502C</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Nieudokumentowane_rozkazy_6502C&amp;diff=32217"/>
		<updated>2012-04-25T14:05:10Z</updated>

		<summary type="html">&lt;p&gt;Xxl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Listę niepublikowanych kodów (zwanych również rozkazami nielegalnymi) [[6502C]] [[SALLY]] można podzielić na dwie grupy. [[Nieudokumentowane_rozkazy_6502C#KODY STABILNE|Kody stabilne]] (&amp;lt;span style=&amp;quot;color: green&amp;quot;&amp;gt;zielone&amp;lt;/span&amp;gt;) działają na wszystkich komputerach Atari serii [[XL]]/[[XE]] oraz tej części modeli [[400]]/[[800]] w której montowano procesor [[6502C]] [[SALLY]], natomiast [[Nieudokumentowane_rozkazy_6502C#KODY NIESTABILNE|kody niestabilne]] (&amp;lt;span style=&amp;quot;color: red&amp;quot;&amp;gt;czerwone&amp;lt;/span&amp;gt;) na procesorze [[6502C]] działają w sposób nieprzewidywalny.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot;&lt;br /&gt;
! width=&amp;quot;65px&amp;quot; | KOD !! width=&amp;quot;65px&amp;quot; | +00 !! +01 !! width=&amp;quot;65px&amp;quot; | +02 !! width=&amp;quot;65px&amp;quot; | +03 !! width=&amp;quot;65px&amp;quot; | +04 !! +05 !! +06 !! width=&amp;quot;65px&amp;quot; | +07 !! +08 !! width=&amp;quot;65px&amp;quot; | +09 !! width=&amp;quot;65px&amp;quot; | +0A !! width=&amp;quot;65px&amp;quot; | +0B !! width=&amp;quot;65px&amp;quot; | +0C !! +0D !! width=&amp;quot;65px&amp;quot; | +0E !! width=&amp;quot;65px&amp;quot; | +0F&lt;br /&gt;
|-&lt;br /&gt;
! +00 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | ASO (Z,X) || style=&amp;quot;color:GREEN&amp;quot; | DOP Z ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ANC #n || style=&amp;quot;color:GREEN&amp;quot; | TOP Q ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Q&lt;br /&gt;
|-&lt;br /&gt;
! +10 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | ASO (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | ASO Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +20 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RLN (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ANC #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Q&lt;br /&gt;
|-&lt;br /&gt;
! +30 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RLN (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | RLN Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +40 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | LSE (Z,X) || style=&amp;quot;color:GREEN&amp;quot; | DOP Z ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ALR #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Q    &lt;br /&gt;
|-&lt;br /&gt;
! +50 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | LSE (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | LSE Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +60 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RRD (Z,X) || style=&amp;quot;color:GREEN&amp;quot; | DOP Z ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ARR #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Q&lt;br /&gt;
|-&lt;br /&gt;
! +70 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RRD (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | RRD Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +80 || style=&amp;quot;color:GREEN&amp;quot; | DOP #n ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n || style=&amp;quot;color:GREEN&amp;quot; | SAX (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SAX Z ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n ||     || style=&amp;quot;color:RED&amp;quot; | ANE #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SAX Q&lt;br /&gt;
|-&lt;br /&gt;
! +90 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:RED&amp;quot; | SHA (Z),Y||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SAX Z,Y ||     ||     ||     || style=&amp;quot;color:RED&amp;quot; | SHS Q,Y || style=&amp;quot;color:GREEN&amp;quot; | SHY Q,X ||     || style=&amp;quot;color:GREEN&amp;quot; | SHX Q,Y || style=&amp;quot;color:RED&amp;quot; | SHA Q,Y &lt;br /&gt;
|-&lt;br /&gt;
! +A0 ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Z ||     ||     ||     || style=&amp;quot;color:RED&amp;quot; | ANX #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Q&lt;br /&gt;
|-&lt;br /&gt;
! +B0 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | LAX (Z),Y ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Z,Y ||     ||     ||     || style=&amp;quot;color:RED&amp;quot; | LAS Q,Y ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Q,Y &lt;br /&gt;
|-&lt;br /&gt;
! +C0 ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n || style=&amp;quot;color:GREEN&amp;quot; | DCP (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SBX #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Q&lt;br /&gt;
|-&lt;br /&gt;
! +D0 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | DCP (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | DCP Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Q,X  &lt;br /&gt;
|-&lt;br /&gt;
! +E0 ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n || style=&amp;quot;color:GREEN&amp;quot; | ISB (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SBC #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Q&lt;br /&gt;
|-&lt;br /&gt;
! +F0 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | ISB (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | ISB Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Q,X &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Legenda:&lt;br /&gt;
&amp;lt;br&amp;gt;n - dane w trybie natychmiastowym,&lt;br /&gt;
&amp;lt;br&amp;gt;Q - adres dwubajtowy,&lt;br /&gt;
&amp;lt;br&amp;gt;Z - adres jednobajtowy danych lub adresu pośredniego,&lt;br /&gt;
&amp;lt;br&amp;gt;* - dodać cykl przy zmianie strony.&lt;br /&gt;
&amp;lt;br&amp;gt;Użyto mnemoników stosowanych w makroassemblerze [[MADS]] oraz monitorze emulatora [[Atari800Win_PLus|Atari800Win PLus]].&lt;br /&gt;
&lt;br /&gt;
== KODY STABILNE ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ANC / ANC&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej. Znacznik C ustawiany tak jak N.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
| ANC #n || $0B || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ANC #n || $2B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SAX / SAX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND pomiędzy A i rejestrem X, wynik zapisuje w pamięci. Rejestry A i X pozostają niezmienione.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SAX Z || $87 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|SAX Z,Y || $97 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|SAX (Z,X) || $83 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|SAX Q || $8F || 3 || 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ALR / ALR&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej, następnie LSR @.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ALR #n || $4B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SBX / SBX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND pomiędzy rejestrem X i A, wynik w rejestrze X.&lt;br /&gt;
Znacznik C ustawiany gdy zawartość rejestru X jest większa lub równa danej.&lt;br /&gt;
Od rejestru X odejmuje daną (bez pożyczki).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SBX #n || $CB || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;DCM / DCP&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Zmniejsza o jeden wartość bajtu pamięci następnie wykonuje CMP na A i tej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|DCP Z || $C7 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|DCP Z,X || $D7 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|DCP Q || $CF || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|DCP Q,X || $DF || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|DCP Q,Y || $DB || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|DCP (Z,X) || $C3 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|DCP (Z),Y || $D3 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;INS / ISB&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Zwiększa o jeden zawartość pamięci. Od A odejmuje wartość pamięci (z pożyczką).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ISB Z || $E7 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|ISB Z,X || $F7 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ISB Q || $EF || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ISB Q,X || $FF || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ISB Q,Y || $FB || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ISB (Z,X) || $E3 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|ISB (Z),Y || $F3 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NOP / NPO&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Niepublikowany NOP&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $1A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $3A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $5A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $7A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $DA || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $FA || 1 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NOP / NPO (DOP)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Dwubajtowy NOP&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z || $04 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $14 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $34 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z || $44 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $54 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z || $64 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $74 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $80 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $82 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $89 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $C2 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $D4 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $E2 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $F4 || 2 || 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NOP / NPO (TOP)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Trzybajtowy NOP&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q || $0C || 3 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $1C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $3C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $5C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $7C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $DC || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $FC || 3 || 4 *&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SBC / SBC (?)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Niepublikowany SBC #n.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SBC #n || $EB || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;LAX / LAX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Załaduje daną do A i rejestru X.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|LAX Z || $A7 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|LAX Z,Y || $B7 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|LAX Q || $AF || 3 || 4&lt;br /&gt;
|-&lt;br /&gt;
|LAX Q,Y || $BF || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|LAX (Z,X) || $A3 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|LAX (Z),Y || $B3 || 2 || 5 *&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;RLA / RLN&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje ROL na pamięci, następnie AND z A (wynik w A).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|RLN Z || $27 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|RLN Z,X || $37 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RLN Q || $2F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RLN Q,X || $3F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RLN Q,Y || $3B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RLN (Z,X) || $23 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|RLN (Z),Y || $33 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;RRA / RRD&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje ROR na pamięci, następnie ADC z A (wynik w A).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|RRD Z || $67 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|RRD Z,X || $77 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RRD Q || $6F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RRD Q,X || $7F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RRD Q,Y || $7B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RRD (Z,X) || $63 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|RRD (Z),Y || $73 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ASO / ASO&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje ASL na pamięci, następnie ORA z A (wynik w A).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ASO Z || $07 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|ASO Z,X || $17 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ASO Q || $0F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ASO Q,X || $1F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ASO Q,Y || $1B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ASO (Z,X) || $03 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|ASO (Z),Y || $13 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;LSE / LSE&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje LSR na pamięci, następnie EOR z A (wynik w A). &lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|LSE Z || $47 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|LSE Z,X ||$57 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|LSE Q || $4F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|LSE Q,X || $5F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|LSE Q,Y || $5B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|LSE (Z,X) || $43 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|LSE (Z),Y || $53 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHX / SHX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do starszego bajtu adresu dodaje jeden i wykonuje AND z rejestrem X.&lt;br /&gt;
Tak otrzymaną wartość zapisuje w pamięci.&lt;br /&gt;
Jeśli nastąpiło przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHX Q,Y || $9E || 3 || 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHY / SHY&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do starszego bajtu adresu dodaje jeden i wykonuje AND z rejestrem Y.&lt;br /&gt;
Tak otrzymana wartość zapisuje w pamięci.&lt;br /&gt;
Jeśli nastąpiło przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHY Q,X || $9C || 3 || 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ARR / ARR&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Gdy znacznik D=0 rozkaz działa następująco:&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej po czym ROR.&lt;br /&gt;
&amp;lt;br&amp;gt;Znacznik C wpisuje do b7, b6 do znacznika C, do V b6 EOR b5.&lt;br /&gt;
&amp;lt;br&amp;gt;Gdy znacznik D=1 rozkaz:&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej (cząstkowy wynik w postaci młodszego i starszego nibbla przechowuje) następnie wykonuje ROR @.&lt;br /&gt;
&amp;lt;br&amp;gt;Jeśli wartość młodszego nibbla cząstkowego wyniku powiększona o jego b0 będzie większa lub równa od 5 to &lt;br /&gt;
młodszy nibbel wyniku w A zostanie zwiększony o 6, przy czym cząstkowe przeniesienie do starszego nibbla zostanie utracone.&lt;br /&gt;
&amp;lt;br&amp;gt;Podobnie starszy nibbel cząstkowego wyniku, jeśli wartość po zwiększeniu o b0 będzie większa lub równa 5&lt;br /&gt;
to starszy nibbel wyniku w A zwiększony będzie o 6 a dodatkowo znacznik C zostanie ustawiony, jeśli nie było korekty&lt;br /&gt;
starszego nibbla wyniku znacznik C będzie skasowany.&lt;br /&gt;
&amp;lt;br&amp;gt;Flaga V ustawiona gdy w b6 zmieni swoj stan po AND i ROR, kasowany w przeciwnym wypadku.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ARR #n || $6B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== KODY NIESTABILNE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;CIM / CIM&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Blokuje procesor.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $02 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $12 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $22 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $32 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $42 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $52 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $62 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $72 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $92 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $B2 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $D2 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $F2 || 1 || -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHA / SHA&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do starszego bajtu adresu dodaje jeden i wykonuje AND z A, następnie AND z rejestrem X.&lt;br /&gt;
Tak otrzymaną wartość zapisuje w pamięci.&lt;br /&gt;
Jeśli nastąpi przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHA Q,Y || $9F || 3 || 5&lt;br /&gt;
|-&lt;br /&gt;
|SHA (Z),Y || $93 || 2 || 6&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHS / SHS&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do rejestru S zapisuje wynik operacji A AND X następnie do starszego bajtu adresu dodaje&lt;br /&gt;
jeden, wykonuje AND z S i zapisuje wynik w pamięci.&lt;br /&gt;
Jeśli nastąpi przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHS Q,Y || $9B || 3 || 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;LAS / LAS&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na zawartości pamięci i rejestru S, wynik zapisuje w rejestrach A, X, S.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|LAS Q,Y || $BB || 3 || 4 *&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ANE / ANE&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki procesora ustawiane są wg. operacji argument AND A.&lt;br /&gt;
&amp;lt;br&amp;gt;Rozkaz najpierw wykonuje sumę logiczną argumentu i wartości $EF, następnie operacji AND na rejestrze X i wyniku. W kolejnym kroku z tak otrzymaną wartością wykona AND z A. Wynik w A. &lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ANE #n || $8B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ANX / ANX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje operację argument AND A, wynik zapisuje w A oraz rejetrze X.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ANX #n || $AB || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== CIEKAWOSTKI ==&lt;br /&gt;
*Rozkazy niepublikowane stabilne użyte zostały w grach: Alex, [[Alley Cat]], Landscape.&lt;br /&gt;
*Rozkazy niepublikowane niestabilne użyte zostały w grze G.I.L.P.&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Atari 8-bit]]&lt;/div&gt;</summary>
		<author><name>Xxl</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Nieudokumentowane_rozkazy_6502C&amp;diff=32216</id>
		<title>Nieudokumentowane rozkazy 6502C</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Nieudokumentowane_rozkazy_6502C&amp;diff=32216"/>
		<updated>2012-04-25T12:44:00Z</updated>

		<summary type="html">&lt;p&gt;Xxl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Listę niepublikowanych kodów (zwanych również rozkazami nielegalnymi) [[6502C]] [[SALLY]] można podzielić na dwie grupy. [[Nieudokumentowane_rozkazy_6502C#KODY STABILNE|Kody stabilne]] (&amp;lt;span style=&amp;quot;color: green&amp;quot;&amp;gt;zielone&amp;lt;/span&amp;gt;) działają na wszystkich komputerach Atari serii [[XL]]/[[XE]] oraz tej części modeli [[400]]/[[800]] w której montowano procesor [[6502C]] [[SALLY]], natomiast [[Nieudokumentowane_rozkazy_6502C#KODY NIESTABILNE|kody niestabilne]] (&amp;lt;span style=&amp;quot;color: red&amp;quot;&amp;gt;czerwone&amp;lt;/span&amp;gt;) na procesorze [[6502C]] działają w sposób nieprzewidywalny.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot;&lt;br /&gt;
! width=&amp;quot;65px&amp;quot; | KOD !! width=&amp;quot;65px&amp;quot; | +00 !! +01 !! width=&amp;quot;65px&amp;quot; | +02 !! width=&amp;quot;65px&amp;quot; | +03 !! width=&amp;quot;65px&amp;quot; | +04 !! +05 !! +06 !! width=&amp;quot;65px&amp;quot; | +07 !! +08 !! width=&amp;quot;65px&amp;quot; | +09 !! width=&amp;quot;65px&amp;quot; | +0A !! width=&amp;quot;65px&amp;quot; | +0B !! width=&amp;quot;65px&amp;quot; | +0C !! +0D !! width=&amp;quot;65px&amp;quot; | +0E !! width=&amp;quot;65px&amp;quot; | +0F&lt;br /&gt;
|-&lt;br /&gt;
! +00 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | ASO (Z,X) || style=&amp;quot;color:GREEN&amp;quot; | DOP Z ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ANC #n || style=&amp;quot;color:GREEN&amp;quot; | TOP Q ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Q&lt;br /&gt;
|-&lt;br /&gt;
! +10 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | ASO (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | ASO Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +20 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RLN (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ANC #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Q&lt;br /&gt;
|-&lt;br /&gt;
! +30 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RLN (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | RLN Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +40 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | LSE (Z,X) || style=&amp;quot;color:GREEN&amp;quot; | DOP Z ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ALR #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Q    &lt;br /&gt;
|-&lt;br /&gt;
! +50 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | LSE (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | LSE Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +60 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RRD (Z,X) || style=&amp;quot;color:GREEN&amp;quot; | DOP Z ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ARR #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Q&lt;br /&gt;
|-&lt;br /&gt;
! +70 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RRD (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | RRD Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +80 || style=&amp;quot;color:GREEN&amp;quot; | DOP #n ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n || style=&amp;quot;color:GREEN&amp;quot; | SAX (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SAX Z ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n ||     || style=&amp;quot;color:RED&amp;quot; | ANE #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SAX Q&lt;br /&gt;
|-&lt;br /&gt;
! +90 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:RED&amp;quot; | SHA (Z),Y||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SAX Z,Y ||     ||     ||     || style=&amp;quot;color:RED&amp;quot; | SHS Q,Y || style=&amp;quot;color:GREEN&amp;quot; | SHY Q,X ||     || style=&amp;quot;color:GREEN&amp;quot; | SHX Q,Y || style=&amp;quot;color:RED&amp;quot; | SHA Q,Y &lt;br /&gt;
|-&lt;br /&gt;
! +A0 ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Z ||     ||     ||     || style=&amp;quot;color:RED&amp;quot; | ANX #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Q&lt;br /&gt;
|-&lt;br /&gt;
! +B0 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | LAX (Z),Y ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Z,Y ||     ||     ||     || style=&amp;quot;color:RED&amp;quot; | LAS Q,Y ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Q,Y &lt;br /&gt;
|-&lt;br /&gt;
! +C0 ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n || style=&amp;quot;color:GREEN&amp;quot; | DCP (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SBX #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Q&lt;br /&gt;
|-&lt;br /&gt;
! +D0 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | DCP (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | DCP Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Q,X  &lt;br /&gt;
|-&lt;br /&gt;
! +E0 ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n || style=&amp;quot;color:GREEN&amp;quot; | ISB (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SBC #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Q&lt;br /&gt;
|-&lt;br /&gt;
! +F0 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | ISB (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | ISB Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Q,X &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Legenda:&lt;br /&gt;
&amp;lt;br&amp;gt;n - dane w trybie natychmiastowym,&lt;br /&gt;
&amp;lt;br&amp;gt;Q - adres dwubajtowy,&lt;br /&gt;
&amp;lt;br&amp;gt;Z - adres jednobajtowy danych lub adresu pośredniego,&lt;br /&gt;
&amp;lt;br&amp;gt;* - dodać cykl przy zmianie strony.&lt;br /&gt;
&amp;lt;br&amp;gt;Użyto mnemoników stosowanych w makroassemblerze [[MADS]] oraz monitorze emulatora [[Atari800Win_PLus|Atari800Win PLus]].&lt;br /&gt;
&lt;br /&gt;
== KODY STABILNE ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ANC / ANC&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej. Znacznik C ustawiany tak jak N.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
| ANC #n || $0B || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ANC #n || $2B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SAX / SAX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND pomiędzy A i rejestrem X, wynik zapisuje w pamięci. Rejestry A i X pozostają niezmienione.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SAX Z || $87 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|SAX Z,Y || $97 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|SAX (Z,X) || $83 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|SAX Q || $8F || 3 || 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ALR / ALR&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej, następnie LSR @.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ALR #n || $4B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SBX / SBX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND pomiędzy rejestrem X i A, wynik w rejestrze X.&lt;br /&gt;
Znacznik C ustawiany gdy zawartość rejestru X jest większa lub równa danej.&lt;br /&gt;
Od rejestru X odejmuje daną (bez pożyczki).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SBX #n || $CB || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;DCM / DCP&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Zmniejsza o jeden wartość bajtu pamięci następnie wykonuje CMP na A i tej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|DCP Z || $C7 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|DCP Z,X || $D7 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|DCP Q || $CF || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|DCP Q,X || $DF || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|DCP Q,Y || $DB || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|DCP (Z,X) || $C3 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|DCP (Z),Y || $D3 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;INS / ISB&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Zwiększa o jeden zawartość pamięci. Od A odejmuje wartość pamięci (z pożyczką).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ISB Z || $E7 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|ISB Z,X || $F7 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ISB Q || $EF || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ISB Q,X || $FF || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ISB Q,Y || $FB || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ISB (Z,X) || $E3 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|ISB (Z),Y || $F3 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NOP / NPO&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Niepublikowany NOP&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $1A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $3A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $5A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $7A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $DA || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $FA || 1 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NOP / NPO (DOP)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Dwubajtowy NOP&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z || $04 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $14 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $34 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z || $44 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $54 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z || $64 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $74 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $80 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $82 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $89 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $C2 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $D4 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $E2 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $F4 || 2 || 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NOP / NPO (TOP)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Trzybajtowy NOP&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q || $0C || 3 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $1C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $3C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $5C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $7C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $DC || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $FC || 3 || 4 *&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SBC / SBC (?)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Niepublikowany SBC #n.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SBC #n || $EB || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;LAX / LAX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Załaduje daną do A i rejestru X.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|LAX Z || $A7 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|LAX Z,Y || $B7 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|LAX Q || $AF || 3 || 4&lt;br /&gt;
|-&lt;br /&gt;
|LAX Q,Y || $BF || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|LAX (Z,X) || $A3 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|LAX (Z),Y || $B3 || 2 || 5 *&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;RLA / RLN&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje ROL na pamięci, następnie AND z A (wynik w A).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|RLN Z || $27 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|RLN Z,X || $37 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RLN Q || $2F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RLN Q,X || $3F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RLN Q,Y || $3B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RLN (Z,X) || $23 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|RLN (Z),Y || $33 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;RRA / RRD&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje ROR na pamięci, następnie ADC z A (wynik w A).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|RRD Z || $67 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|RRD Z,X || $77 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RRD Q || $6F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RRD Q,X || $7F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RRD Q,Y || $7B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RRD (Z,X) || $63 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|RRD (Z),Y || $73 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ASO / ASO&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje ASL na pamięci, następnie ORA z A (wynik w A).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ASO Z || $07 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|ASO Z,X || $17 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ASO Q || $0F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ASO Q,X || $1F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ASO Q,Y || $1B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ASO (Z,X) || $03 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|ASO (Z),Y || $13 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;LSE / LSE&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje LSR na pamięci, następnie EOR z A (wynik w A). &lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|LSE Z || $47 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|LSE Z,X ||$57 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|LSE Q || $4F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|LSE Q,X || $5F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|LSE Q,Y || $5B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|LSE (Z,X) || $43 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|LSE (Z),Y || $53 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHX / SHX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do starszego bajtu adresu dodaje jeden i wykonuje AND z rejestrem X.&lt;br /&gt;
Tak otrzymaną wartość zapisuje w pamięci.&lt;br /&gt;
Jeśli nastąpiło przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHX Q,Y || $9E || 3 || 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHY / SHY&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do starszego bajtu adresu dodaje jeden i wykonuje AND z rejestrem Y.&lt;br /&gt;
Tak otrzymana wartość zapisuje w pamięci.&lt;br /&gt;
Jeśli nastąpiło przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHY Q,X || $9C || 3 || 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ARR / ARR&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Gdy znacznik D=0 rozkaz działa następująco:&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej po czym ROR.&lt;br /&gt;
&amp;lt;br&amp;gt;Znacznik C wpisuje do b7, b6 do znacznika C, do V b6 EOR b5.&lt;br /&gt;
&amp;lt;br&amp;gt;Gdy znacznik D=1 rozkaz:&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej (cząstkowy wynik w postaci młodszego i starszego nibbla przechowuje) następnie wykonuje ROR @.&lt;br /&gt;
&amp;lt;br&amp;gt;Jeśli wartość młodszego nibbla cząstkowego wyniku powiększona o jego b0 będzie większa lub równa od 5 to &lt;br /&gt;
młodszy nibbel wyniku w A zostanie zwiększony o 6, przy czym cząstkowe przeniesienie do starszego nibbla zostanie utracone.&lt;br /&gt;
&amp;lt;br&amp;gt;Podobnie starszy nibbel cząstkowego wyniku, jeśli wartość po zwiększeniu o b0 będzie większa lub równa 5&lt;br /&gt;
to starszy nibbel wyniku w A zwiększony będzie o 6 a dodatkowo znacznik C zostanie ustawiony, jeśli nie było korekty&lt;br /&gt;
starszego nibbla wyniku znacznik C będzie skasowany.&lt;br /&gt;
&amp;lt;br&amp;gt;Flaga V ustawiona gdy w b6 zmieni swoj stan po AND i ROR, kasowany w przeciwnym wypadku.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ARR #n || $6B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== KODY NIESTABILNE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;CIM / CIM&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Blokuje procesor.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $02 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $12 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $22 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $32 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $42 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $52 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $62 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $72 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $92 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $B2 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $D2 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $F2 || 1 || -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHA / SHA&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do starszego bajtu adresu dodaje jeden i wykonuje AND z A, następnie AND z rejestrem X.&lt;br /&gt;
Tak otrzymaną wartość zapisuje w pamięci.&lt;br /&gt;
Jeśli nastąpi przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHA Q,Y || $9F || 3 || 5&lt;br /&gt;
|-&lt;br /&gt;
|SHA (Z),Y || $93 || 2 || 6&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHS / SHS&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do rejestru S zapisuje wynik operacji A AND X następnie do starszego bajtu adresu dodaje&lt;br /&gt;
jeden, wykonuje AND z S i zapisuje wynik w pamięci.&lt;br /&gt;
Jeśli nastąpi przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHS Q,Y || $9B || 3 || 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;LAS / LAS&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na zawartości pamięci i rejestru S, wynik zapisuje w rejestrach A, X, S.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|LAS Q,Y || $BB || 3 || 4 *&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ANE / ANE&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki procesora ustawiane są wg. operacji argument AND A.&lt;br /&gt;
&amp;lt;br&amp;gt;Rozkaz najpierw wykonuje sumę logiczną argumentu i wartości $EF, następnie operacji AND na rejestrze X i wyniku. W kolejnym kroku z tak otrzymaną wartością wykona AND z A. Wynik w A. &lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ANE #n || $8B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ANX / ANX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje operację argument AND A, wynik zapisuje w A oraz rejetrze X.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ANX #n || $AB || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== CIEKAWOSTKI ==&lt;br /&gt;
*Rozkazy niepublikowane stabilne użyte zostały w grach: [[Alley Cat]], Landscape.&lt;br /&gt;
*Rozkazy niepublikowane niestabilne użyte zostały w grze G.I.L.P.&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Atari 8-bit]]&lt;/div&gt;</summary>
		<author><name>Xxl</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Alley_Cat&amp;diff=32215</id>
		<title>Alley Cat</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Alley_Cat&amp;diff=32215"/>
		<updated>2012-04-24T23:14:04Z</updated>

		<summary type="html">&lt;p&gt;Xxl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{grafr|Alley_cat.gif}}&lt;br /&gt;
Życie małego kota jest straszne. Wszędobylskie psy, myszy latające po sznurach do prania, ludzie rzucający czym się da z okien... Ale czego nie robi się dla pięknej kotki...&lt;br /&gt;
&lt;br /&gt;
Jest to gra pokazująca życie kota w środowisku blokowym. Zadaniem gracza jest dostanie się do otwartego okna, gdzie trzeba się pożywić: a to wypić mleczko z misek ustawionych wśród psów, złapać myszkę w wielkim kawałku sera, schrupać rybkę z akwarium. A jak już się pożywisz, to trzeba się uśmiechnąć do słodkiej kici, która wygląda z okienka. Jakiś torcik. A potem nowy, trudniejszy poziom, więcej piesków...&lt;br /&gt;
&lt;br /&gt;
Gra została napisana przez [[Bill Williams|Billa Williamsa]] i [[John Harris|Johna Harrisa]]. Wydana została w 1983 roku przez [[Synapse Software]] na rynku amerykańskim, potem w 1985 roku na rynku niemieckim przez [[Ariola]] i w 1986 w Wielkiej Brytanii przez [[Americana]].&lt;br /&gt;
&lt;br /&gt;
==Technikalia==&lt;br /&gt;
Jest to jedna z (niewielu) gier, które się traci po zainstalowaniu [[65C816]]. Powód - użyte w kodzie [[Nieudokumentowane_rozkazy_6502C|nielegalne rozkazy]] [[6502]].&lt;br /&gt;
&lt;br /&gt;
Gra zwraca uwagę wysokiej jakości efektami dźwiękowymi - realistycznie brzmiące odgłosy, takie jak szczekanie psa, &amp;quot;darcie kotów&amp;quot; czy dźwięk całusa są generowane bez użycia [[digitalizacja|sampli]].&lt;br /&gt;
&lt;br /&gt;
==Odnośniki zewnętrzne==&lt;br /&gt;
* [http://pl.wikipedia.org/wiki/Alley_Cat &#039;&#039;Alley Cat&#039;&#039;] w angielskiej Wikipedii&lt;br /&gt;
* [http://www.atarimania.com/detail_soft.php?MENU=8&amp;amp;VERSION_ID=212 &#039;&#039;Alley Cat&#039;&#039;] w [[Atarimania|Atarimanii]]&lt;br /&gt;
* [http://atari.fandal.cz/download.php?files_id=1329 &#039;&#039;Alley Cat&#039;&#039;] na stronie [[Fandal]]a&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Gry dla Atari 8-bit]]&lt;br /&gt;
[[Kategoria:Gry zręcznościowe]]&lt;/div&gt;</summary>
		<author><name>Xxl</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Nieudokumentowane_rozkazy_6502C&amp;diff=32214</id>
		<title>Nieudokumentowane rozkazy 6502C</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Nieudokumentowane_rozkazy_6502C&amp;diff=32214"/>
		<updated>2012-04-24T23:06:37Z</updated>

		<summary type="html">&lt;p&gt;Xxl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Listę niepublikowanych kodów (zwanych również rozkazami nielegalnymi) [[6502C]] [[SALLY]] można podzielić na dwie grupy. [[Nieudokumentowane_rozkazy_6502C#KODY STABILNE|Kody stabilne]] (&amp;lt;span style=&amp;quot;color: green&amp;quot;&amp;gt;zielone&amp;lt;/span&amp;gt;) działają na wszystkich komputerach Atari serii [[XL]]/[[XE]] oraz tej części modeli [[400]]/[[800]] w której montowano procesor [[6502C]] [[SALLY]], natomiast [[Nieudokumentowane_rozkazy_6502C#KODY NIESTABILNE|kody niestabilne]] (&amp;lt;span style=&amp;quot;color: red&amp;quot;&amp;gt;czerwone&amp;lt;/span&amp;gt;) na procesorze [[6502C]] działają w sposób nieprzewidywalny.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot;&lt;br /&gt;
! width=&amp;quot;65px&amp;quot; | KOD !! width=&amp;quot;65px&amp;quot; | +00 !! +01 !! width=&amp;quot;65px&amp;quot; | +02 !! width=&amp;quot;65px&amp;quot; | +03 !! width=&amp;quot;65px&amp;quot; | +04 !! +05 !! +06 !! width=&amp;quot;65px&amp;quot; | +07 !! +08 !! width=&amp;quot;65px&amp;quot; | +09 !! width=&amp;quot;65px&amp;quot; | +0A !! width=&amp;quot;65px&amp;quot; | +0B !! width=&amp;quot;65px&amp;quot; | +0C !! +0D !! width=&amp;quot;65px&amp;quot; | +0E !! width=&amp;quot;65px&amp;quot; | +0F&lt;br /&gt;
|-&lt;br /&gt;
! +00 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | ASO (Z,X) || style=&amp;quot;color:GREEN&amp;quot; | DOP Z ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ANC #n || style=&amp;quot;color:GREEN&amp;quot; | TOP Q ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Q&lt;br /&gt;
|-&lt;br /&gt;
! +10 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | ASO (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | ASO Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +20 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RLN (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ANC #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Q&lt;br /&gt;
|-&lt;br /&gt;
! +30 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RLN (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | RLN Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +40 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | LSE (Z,X) || style=&amp;quot;color:GREEN&amp;quot; | DOP Z ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ALR #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Q    &lt;br /&gt;
|-&lt;br /&gt;
! +50 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | LSE (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | LSE Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +60 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RRD (Z,X) || style=&amp;quot;color:GREEN&amp;quot; | DOP Z ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ARR #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Q&lt;br /&gt;
|-&lt;br /&gt;
! +70 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RRD (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | RRD Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +80 || style=&amp;quot;color:GREEN&amp;quot; | DOP #n ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n || style=&amp;quot;color:GREEN&amp;quot; | SAX (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SAX Z ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n ||     || style=&amp;quot;color:RED&amp;quot; | ANE #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SAX Q&lt;br /&gt;
|-&lt;br /&gt;
! +90 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:RED&amp;quot; | SHA (Z),Y||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SAX Z,Y ||     ||     ||     || style=&amp;quot;color:RED&amp;quot; | SHS Q,Y || style=&amp;quot;color:GREEN&amp;quot; | SHY Q,X ||     || style=&amp;quot;color:GREEN&amp;quot; | SHX Q,Y || style=&amp;quot;color:RED&amp;quot; | SHA Q,Y &lt;br /&gt;
|-&lt;br /&gt;
! +A0 ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Z ||     ||     ||     || style=&amp;quot;color:RED&amp;quot; | ANX #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Q&lt;br /&gt;
|-&lt;br /&gt;
! +B0 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | LAX (Z),Y ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Z,Y ||     ||     ||     || style=&amp;quot;color:RED&amp;quot; | LAS Q,Y ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Q,Y &lt;br /&gt;
|-&lt;br /&gt;
! +C0 ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n || style=&amp;quot;color:GREEN&amp;quot; | DCP (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SBX #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Q&lt;br /&gt;
|-&lt;br /&gt;
! +D0 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | DCP (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | DCP Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Q,X  &lt;br /&gt;
|-&lt;br /&gt;
! +E0 ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n || style=&amp;quot;color:GREEN&amp;quot; | ISB (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SBC #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Q&lt;br /&gt;
|-&lt;br /&gt;
! +F0 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | ISB (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | ISB Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Q,X &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Legenda:&lt;br /&gt;
&amp;lt;br&amp;gt;n - dane w trybie natychmiastowym,&lt;br /&gt;
&amp;lt;br&amp;gt;Q - adres dwubajtowy,&lt;br /&gt;
&amp;lt;br&amp;gt;Z - adres jednobajtowy danych lub adresu pośredniego,&lt;br /&gt;
&amp;lt;br&amp;gt;* - dodać cykl przy zmianie strony.&lt;br /&gt;
&amp;lt;br&amp;gt;Użyto mnemoników stosowanych w makroassemblerze [[MADS]] oraz monitorze emulatora [[Atari800Win_PLus|Atari800Win PLus]].&lt;br /&gt;
&lt;br /&gt;
== KODY STABILNE ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ANC / ANC&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej. Znacznik C ustawiany tak jak N.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
| ANC #n || $0B || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ANC #n || $2B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SAX / SAX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND pomiędzy A i rejestrem X, wynik zapisuje w pamięci. Rejestry A i X pozostają niezmienione.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SAX Z || $87 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|SAX Z,Y || $97 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|SAX (Z,X) || $83 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|SAX Q || $8F || 3 || 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ALR / ALR&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej, następnie LSR @.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ALR #n || $4B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SBX / SBX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND pomiędzy rejestrem X i A, wynik w rejestrze X.&lt;br /&gt;
Znacznik C ustawiany gdy zawartość rejestru X jest większa lub równa danej.&lt;br /&gt;
Od rejestru X odejmuje daną (bez pożyczki).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SBX #n || $CB || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;DCM / DCP&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Zmniejsza o jeden wartość bajtu pamięci następnie wykonuje CMP na A i tej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|DCP Z || $C7 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|DCP Z,X || $D7 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|DCP Q || $CF || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|DCP Q,X || $DF || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|DCP Q,Y || $DB || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|DCP (Z,X) || $C3 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|DCP (Z),Y || $D3 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;INS / ISB&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Zwiększa o jeden zawartość pamięci. Od A odejmuje wartość pamięci (z pożyczką).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ISB Z || $E7 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|ISB Z,X || $F7 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ISB Q || $EF || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ISB Q,X || $FF || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ISB Q,Y || $FB || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ISB (Z,X) || $E3 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|ISB (Z),Y || $F3 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NOP / NPO&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Niepublikowany NOP&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $1A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $3A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $5A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $7A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $DA || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $FA || 1 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NOP / NPO (DOP)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Dwubajtowy NOP&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z || $04 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $14 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $34 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z || $44 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $54 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z || $64 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $74 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $80 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $82 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $89 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $C2 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $D4 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $E2 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $F4 || 2 || 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NOP / NPO (TOP)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Trzybajtowy NOP&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q || $0C || 3 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $1C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $3C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $5C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $7C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $DC || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $FC || 3 || 4 *&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SBC / SBC (?)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Niepublikowany SBC #n.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SBC #n || $EB || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;LAX / LAX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Załaduje daną do A i rejestru X.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|LAX Z || $A7 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|LAX Z,Y || $B7 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|LAX Q || $AF || 3 || 4&lt;br /&gt;
|-&lt;br /&gt;
|LAX Q,Y || $BF || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|LAX (Z,X) || $A3 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|LAX (Z),Y || $B3 || 2 || 5 *&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;RLA / RLN&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje ROL na pamięci, następnie AND z A (wynik w A).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|RLN Z || $27 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|RLN Z,X || $37 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RLN Q || $2F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RLN Q,X || $3F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RLN Q,Y || $3B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RLN (Z,X) || $23 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|RLN (Z),Y || $33 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;RRA / RRD&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje ROR na pamięci, następnie ADC z A (wynik w A).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|RRD Z || $67 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|RRD Z,X || $77 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RRD Q || $6F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RRD Q,X || $7F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RRD Q,Y || $7B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RRD (Z,X) || $63 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|RRD (Z),Y || $73 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ASO / ASO&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje ASL na pamięci, następnie ORA z A (wynik w A).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ASO Z || $07 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|ASO Z,X || $17 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ASO Q || $0F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ASO Q,X || $1F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ASO Q,Y || $1B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ASO (Z,X) || $03 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|ASO (Z),Y || $13 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;LSE / LSE&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje LSR na pamięci, następnie EOR z A (wynik w A). &lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|LSE Z || $47 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|LSE Z,X ||$57 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|LSE Q || $4F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|LSE Q,X || $5F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|LSE Q,Y || $5B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|LSE (Z,X) || $43 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|LSE (Z),Y || $53 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHX / SHX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do starszego bajtu adresu dodaje jeden i wykonuje AND z rejestrem X.&lt;br /&gt;
Tak otrzymaną wartość zapisuje w pamięci.&lt;br /&gt;
Jeśli nastąpiło przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHX Q,Y || $9E || 3 || 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHY / SHY&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do starszego bajtu adresu dodaje jeden i wykonuje AND z rejestrem Y.&lt;br /&gt;
Tak otrzymana wartość zapisuje w pamięci.&lt;br /&gt;
Jeśli nastąpiło przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHY Q,X || $9C || 3 || 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ARR / ARR&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Gdy znacznik D=0 rozkaz działa następująco:&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej po czym ROR.&lt;br /&gt;
&amp;lt;br&amp;gt;Znacznik C wpisuje do b7, b6 do znacznika C, do V b6 EOR b5.&lt;br /&gt;
&amp;lt;br&amp;gt;Gdy znacznik D=1 rozkaz:&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej (cząstkowy wynik w postaci młodszego i starszego nibbla przechowuje) następnie wykonuje ROR @.&lt;br /&gt;
&amp;lt;br&amp;gt;Jeśli wartość młodszego nibbla cząstkowego wyniku powiększona o jego b0 będzie większa lub równa od 5 to &lt;br /&gt;
młodszy nibbel wyniku w A zostanie zwiększony o 6, przy czym cząstkowe przeniesienie do starszego nibbla zostanie utracone.&lt;br /&gt;
&amp;lt;br&amp;gt;Podobnie starszy nibbel cząstkowego wyniku, jeśli wartość po zwiększeniu o b0 będzie większa lub równa 5&lt;br /&gt;
to starszy nibbel wyniku w A zwiększony będzie o 6 a dodatkowo znacznik C zostanie ustawiony, jeśli nie było korekty&lt;br /&gt;
starszego nibbla wyniku znacznik C będzie skasowany.&lt;br /&gt;
&amp;lt;br&amp;gt;Flaga V ustawiona gdy w b6 zmieni swoj stan po AND i ROR, kasowany w przeciwnym wypadku.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ARR #n || $6B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== KODY NIESTABILNE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;CIM / CIM&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Blokuje procesor.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $02 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $12 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $22 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $32 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $42 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $52 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $62 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $72 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $92 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $B2 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $D2 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $F2 || 1 || -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHA / SHA&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do starszego bajtu adresu dodaje jeden i wykonuje AND z A, następnie AND z rejestrem X.&lt;br /&gt;
Tak otrzymaną wartość zapisuje w pamięci.&lt;br /&gt;
Jeśli nastąpi przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHA Q,Y || $9F || 3 || 5&lt;br /&gt;
|-&lt;br /&gt;
|SHA (Z),Y || $93 || 2 || 6&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHS / SHS&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do rejestru S zapisuje wynik operacji A AND X następnie do starszego bajtu adresu dodaje&lt;br /&gt;
jeden, wykonuje AND z S i zapisuje wynik w pamięci.&lt;br /&gt;
Jeśli nastąpi przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHS Q,Y || $9B || 3 || 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;LAS / LAS&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na zawartości pamięci i rejestru S, wynik zapisuje w rejestrach A, X, S.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|LAS Q,Y || $BB || 3 || 4 *&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ANE / ANE&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki procesora ustawiane są wg. operacji argument AND A.&lt;br /&gt;
&amp;lt;br&amp;gt;Rozkaz najpierw wykonuje sumę logiczną argumentu i wartości $EF, następnie operacji AND na rejestrze X i wyniku. W kolejnym kroku z tak otrzymaną wartością wykona AND z A. Wynik w A. &lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ANE #n || $8B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ANX / ANX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje operację argument AND A, wynik zapisuje w A oraz rejetrze X.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ANX #n || $AB || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== CIEKAWOSTKI ==&lt;br /&gt;
*Rozkazy niepublikowane stabilne użyte zostały w grze [[Alley Cat]].&lt;br /&gt;
*Rozkazy niepublikowane niestabilne użyte zostały w grze G.I.L.P.&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Atari 8-bit]]&lt;/div&gt;</summary>
		<author><name>Xxl</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Nieudokumentowane_rozkazy_6502C&amp;diff=32213</id>
		<title>Nieudokumentowane rozkazy 6502C</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Nieudokumentowane_rozkazy_6502C&amp;diff=32213"/>
		<updated>2012-04-24T20:43:52Z</updated>

		<summary type="html">&lt;p&gt;Xxl: ARR, uzupełnienie&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Listę niepublikowanych kodów (zwanych również rozkazami nielegalnymi) [[6502C]] [[SALLY]] można podzielić na dwie grupy. [[Nieudokumentowane_rozkazy_6502C#KODY STABILNE|Kody stabilne]] (&amp;lt;span style=&amp;quot;color: green&amp;quot;&amp;gt;zielone&amp;lt;/span&amp;gt;) działają na wszystkich komputerach Atari serii [[XL]]/[[XE]] oraz tej części modeli [[400]]/[[800]] w której montowano procesor [[6502C]] [[SALLY]], natomiast [[Nieudokumentowane_rozkazy_6502C#KODY NIESTABILNE|kody niestabilne]] (&amp;lt;span style=&amp;quot;color: red&amp;quot;&amp;gt;czerwone&amp;lt;/span&amp;gt;) na procesorze [[6502C]] działają w sposób nieprzewidywalny.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot;&lt;br /&gt;
! width=&amp;quot;65px&amp;quot; | KOD !! width=&amp;quot;65px&amp;quot; | +00 !! +01 !! width=&amp;quot;65px&amp;quot; | +02 !! width=&amp;quot;65px&amp;quot; | +03 !! width=&amp;quot;65px&amp;quot; | +04 !! +05 !! +06 !! width=&amp;quot;65px&amp;quot; | +07 !! +08 !! width=&amp;quot;65px&amp;quot; | +09 !! width=&amp;quot;65px&amp;quot; | +0A !! width=&amp;quot;65px&amp;quot; | +0B !! width=&amp;quot;65px&amp;quot; | +0C !! +0D !! width=&amp;quot;65px&amp;quot; | +0E !! width=&amp;quot;65px&amp;quot; | +0F&lt;br /&gt;
|-&lt;br /&gt;
! +00 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | ASO (Z,X) || style=&amp;quot;color:GREEN&amp;quot; | DOP Z ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ANC #n || style=&amp;quot;color:GREEN&amp;quot; | TOP Q ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Q&lt;br /&gt;
|-&lt;br /&gt;
! +10 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | ASO (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | ASO Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +20 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RLN (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ANC #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Q&lt;br /&gt;
|-&lt;br /&gt;
! +30 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RLN (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | RLN Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +40 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | LSE (Z,X) || style=&amp;quot;color:GREEN&amp;quot; | DOP Z ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ALR #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Q    &lt;br /&gt;
|-&lt;br /&gt;
! +50 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | LSE (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | LSE Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +60 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RRD (Z,X) || style=&amp;quot;color:GREEN&amp;quot; | DOP Z ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ARR #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Q&lt;br /&gt;
|-&lt;br /&gt;
! +70 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RRD (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | RRD Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +80 || style=&amp;quot;color:GREEN&amp;quot; | DOP #n ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n || style=&amp;quot;color:GREEN&amp;quot; | SAX (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SAX Z ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n ||     || style=&amp;quot;color:RED&amp;quot; | ANE #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SAX Q&lt;br /&gt;
|-&lt;br /&gt;
! +90 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:RED&amp;quot; | SHA (Z),Y||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SAX Z,Y ||     ||     ||     || style=&amp;quot;color:RED&amp;quot; | SHS Q,Y || style=&amp;quot;color:GREEN&amp;quot; | SHY Q,X ||     || style=&amp;quot;color:GREEN&amp;quot; | SHX Q,Y || style=&amp;quot;color:RED&amp;quot; | SHA Q,Y &lt;br /&gt;
|-&lt;br /&gt;
! +A0 ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Z ||     ||     ||     || style=&amp;quot;color:RED&amp;quot; | ANX #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Q&lt;br /&gt;
|-&lt;br /&gt;
! +B0 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | LAX (Z),Y ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Z,Y ||     ||     ||     || style=&amp;quot;color:RED&amp;quot; | LAS Q,Y ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Q,Y &lt;br /&gt;
|-&lt;br /&gt;
! +C0 ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n || style=&amp;quot;color:GREEN&amp;quot; | DCP (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SBX #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Q&lt;br /&gt;
|-&lt;br /&gt;
! +D0 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | DCP (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | DCP Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Q,X  &lt;br /&gt;
|-&lt;br /&gt;
! +E0 ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n || style=&amp;quot;color:GREEN&amp;quot; | ISB (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SBC #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Q&lt;br /&gt;
|-&lt;br /&gt;
! +F0 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | ISB (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | ISB Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Q,X &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Legenda:&lt;br /&gt;
&amp;lt;br&amp;gt;n - dane w trybie natychmiastowym,&lt;br /&gt;
&amp;lt;br&amp;gt;Q - adres dwubajtowy,&lt;br /&gt;
&amp;lt;br&amp;gt;Z - adres jednobajtowy danych lub adresu pośredniego,&lt;br /&gt;
&amp;lt;br&amp;gt;* - dodać cykl przy zmianie strony.&lt;br /&gt;
&amp;lt;br&amp;gt;Użyto mnemoników stosowanych w makroassemblerze [[MADS]] oraz monitorze emulatora [[Atari800Win_PLus|Atari800Win PLus]].&lt;br /&gt;
&lt;br /&gt;
== KODY STABILNE ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ANC / ANC&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej. Znacznik C ustawiany tak jak N.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
| ANC #n || $0B || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ANC #n || $2B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SAX / SAX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND pomiędzy A i rejestrem X, wynik zapisuje w pamięci. Rejestry A i X pozostają niezmienione.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SAX Z || $87 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|SAX Z,Y || $97 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|SAX (Z,X) || $83 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|SAX Q || $8F || 3 || 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ALR / ALR&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej, następnie LSR @.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ALR #n || $4B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SBX / SBX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND pomiędzy rejestrem X i A, wynik w rejestrze X.&lt;br /&gt;
Znacznik C ustawiany gdy zawartość rejestru X jest większa lub równa danej.&lt;br /&gt;
Od rejestru X odejmuje daną (bez pożyczki).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SBX #n || $CB || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;DCM / DCP&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Zmniejsza o jeden wartość bajtu pamięci następnie wykonuje CMP na A i tej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|DCP Z || $C7 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|DCP Z,X || $D7 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|DCP Q || $CF || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|DCP Q,X || $DF || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|DCP Q,Y || $DB || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|DCP (Z,X) || $C3 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|DCP (Z),Y || $D3 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;INS / ISB&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Zwiększa o jeden zawartość pamięci. Od A odejmuje wartość pamięci (z pożyczką).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ISB Z || $E7 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|ISB Z,X || $F7 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ISB Q || $EF || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ISB Q,X || $FF || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ISB Q,Y || $FB || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ISB (Z,X) || $E3 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|ISB (Z),Y || $F3 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NOP / NPO&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Niepublikowany NOP&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $1A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $3A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $5A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $7A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $DA || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $FA || 1 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NOP / NPO (DOP)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Dwubajtowy NOP&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z || $04 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $14 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $34 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z || $44 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $54 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z || $64 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $74 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $80 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $82 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $89 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $C2 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $D4 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $E2 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $F4 || 2 || 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NOP / NPO (TOP)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Trzybajtowy NOP&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q || $0C || 3 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $1C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $3C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $5C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $7C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $DC || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $FC || 3 || 4 *&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SBC / SBC (?)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Niepublikowany SBC #n.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SBC #n || $EB || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;LAX / LAX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Załaduje daną do A i rejestru X.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|LAX Z || $A7 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|LAX Z,Y || $B7 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|LAX Q || $AF || 3 || 4&lt;br /&gt;
|-&lt;br /&gt;
|LAX Q,Y || $BF || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|LAX (Z,X) || $A3 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|LAX (Z),Y || $B3 || 2 || 5 *&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;RLA / RLN&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje ROL na pamięci, następnie AND z A (wynik w A).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|RLN Z || $27 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|RLN Z,X || $37 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RLN Q || $2F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RLN Q,X || $3F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RLN Q,Y || $3B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RLN (Z,X) || $23 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|RLN (Z),Y || $33 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;RRA / RRD&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje ROR na pamięci, następnie ADC z A (wynik w A).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|RRD Z || $67 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|RRD Z,X || $77 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RRD Q || $6F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RRD Q,X || $7F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RRD Q,Y || $7B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RRD (Z,X) || $63 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|RRD (Z),Y || $73 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ASO / ASO&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje ASL na pamięci, następnie ORA z A (wynik w A).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ASO Z || $07 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|ASO Z,X || $17 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ASO Q || $0F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ASO Q,X || $1F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ASO Q,Y || $1B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ASO (Z,X) || $03 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|ASO (Z),Y || $13 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;LSE / LSE&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje LSR na pamięci, następnie EOR z A (wynik w A). &lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|LSE Z || $47 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|LSE Z,X ||$57 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|LSE Q || $4F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|LSE Q,X || $5F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|LSE Q,Y || $5B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|LSE (Z,X) || $43 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|LSE (Z),Y || $53 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHX / SHX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do starszego bajtu adresu dodaje jeden i wykonuje AND z rejestrem X.&lt;br /&gt;
Tak otrzymaną wartość zapisuje w pamięci.&lt;br /&gt;
Jeśli nastąpiło przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHX Q,Y || $9E || 3 || 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHY / SHY&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do starszego bajtu adresu dodaje jeden i wykonuje AND z rejestrem Y.&lt;br /&gt;
Tak otrzymana wartość zapisuje w pamięci.&lt;br /&gt;
Jeśli nastąpiło przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHY Q,X || $9C || 3 || 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ARR / ARR&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Gdy znacznik D=0 rozkaz działa następująco:&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej po czym ROR.&lt;br /&gt;
&amp;lt;br&amp;gt;Znacznik C wpisuje do b7, b6 do znacznika C, do V b6 EOR b5.&lt;br /&gt;
&amp;lt;br&amp;gt;Gdy znacznik D=1 rozkaz:&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej (cząstkowy wynik w postaci młodszego i starszego nibbla przechowuje) następnie wykonuje ROR @.&lt;br /&gt;
&amp;lt;br&amp;gt;Jeśli wartość młodszego nibbla cząstkowego wyniku powiększona o jego b0 będzie większa lub równa od 5 to &lt;br /&gt;
młodszy nibbel wyniku w A zostanie zwiększony o 6, przy czym cząstkowe przeniesienie do starszego nibbla zostanie utracone.&lt;br /&gt;
&amp;lt;br&amp;gt;Podobnie starszy nibbel cząstkowego wyniku, jeśli wartość po zwiększeniu o b0 będzie większa lub równa 5&lt;br /&gt;
to starszy nibbel wyniku w A zwiększony będzie o 6 a dodatkowo znacznik C zostanie ustawiony, jeśli nie było korekty&lt;br /&gt;
starszego nibbla wyniku znacznik C będzie skasowany.&lt;br /&gt;
&amp;lt;br&amp;gt;Flaga V ustawiona gdy w b6 zmieni swoj stan po AND i ROR, kasowany w przeciwnym wypadku.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ARR #n || $6B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== KODY NIESTABILNE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;CIM / CIM&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Blokuje procesor.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $02 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $12 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $22 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $32 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $42 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $52 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $62 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $72 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $92 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $B2 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $D2 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $F2 || 1 || -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHA / SHA&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do starszego bajtu adresu dodaje jeden i wykonuje AND z A, następnie AND z rejestrem X.&lt;br /&gt;
Tak otrzymaną wartość zapisuje w pamięci.&lt;br /&gt;
Jeśli nastąpi przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHA Q,Y || $9F || 3 || 5&lt;br /&gt;
|-&lt;br /&gt;
|SHA (Z),Y || $93 || 2 || 6&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHS / SHS&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do rejestru S zapisuje wynik operacji A AND X następnie do starszego bajtu adresu dodaje&lt;br /&gt;
jeden, wykonuje AND z S i zapisuje wynik w pamięci.&lt;br /&gt;
Jeśli nastąpi przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHS Q,Y || $9B || 3 || 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;LAS / LAS&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na zawartości pamięci i rejestru S, wynik zapisuje w rejestrach A, X, S.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|LAS Q,Y || $BB || 3 || 4 *&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ANE / ANE&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki procesora ustawiane są wg. operacji argument AND A.&lt;br /&gt;
&amp;lt;br&amp;gt;Rozkaz najpierw wykonuje sumę logiczną argumentu i wartości $EF, następnie operacji AND na rejestrze X i wyniku. W kolejnym kroku z tak otrzymaną wartością wykona AND z A. Wynik w A. &lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ANE #n || $8B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ANX / ANX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje operację argument AND A, wynik zapisuje w A oraz rejetrze X.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ANX #n || $AB || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== CIEKAWOSTKI ==&lt;br /&gt;
Rozkazy niepublikowane użyte zostały w grze [[Alley Cat]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Atari 8-bit]]&lt;/div&gt;</summary>
		<author><name>Xxl</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Nieudokumentowane_rozkazy_6502C&amp;diff=32212</id>
		<title>Nieudokumentowane rozkazy 6502C</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Nieudokumentowane_rozkazy_6502C&amp;diff=32212"/>
		<updated>2012-04-24T07:25:08Z</updated>

		<summary type="html">&lt;p&gt;Xxl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Listę niepublikowanych kodów (zwanych również rozkazami nielegalnymi) [[6502C]] [[SALLY]] można podzielić na dwie grupy. [[Nieudokumentowane_rozkazy_6502C#KODY STABILNE|Kody stabilne]] (&amp;lt;span style=&amp;quot;color: green&amp;quot;&amp;gt;zielone&amp;lt;/span&amp;gt;) działają na wszystkich komputerach Atari serii [[XL]]/[[XE]] oraz tej części modeli [[400]]/[[800]] w której montowano procesor [[6502C]] [[SALLY]], natomiast [[Nieudokumentowane_rozkazy_6502C#KODY NIESTABILNE|kody niestabilne]] (&amp;lt;span style=&amp;quot;color: red&amp;quot;&amp;gt;czerwone&amp;lt;/span&amp;gt;) na procesorze [[6502C]] działają w sposób nieprzewidywalny.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot;&lt;br /&gt;
! width=&amp;quot;65px&amp;quot; | KOD !! width=&amp;quot;65px&amp;quot; | +00 !! +01 !! width=&amp;quot;65px&amp;quot; | +02 !! width=&amp;quot;65px&amp;quot; | +03 !! width=&amp;quot;65px&amp;quot; | +04 !! +05 !! +06 !! width=&amp;quot;65px&amp;quot; | +07 !! +08 !! width=&amp;quot;65px&amp;quot; | +09 !! width=&amp;quot;65px&amp;quot; | +0A !! width=&amp;quot;65px&amp;quot; | +0B !! width=&amp;quot;65px&amp;quot; | +0C !! +0D !! width=&amp;quot;65px&amp;quot; | +0E !! width=&amp;quot;65px&amp;quot; | +0F&lt;br /&gt;
|-&lt;br /&gt;
! +00 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | ASO (Z,X) || style=&amp;quot;color:GREEN&amp;quot; | DOP Z ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ANC #n || style=&amp;quot;color:GREEN&amp;quot; | TOP Q ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Q&lt;br /&gt;
|-&lt;br /&gt;
! +10 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | ASO (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | ASO Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +20 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RLN (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ANC #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Q&lt;br /&gt;
|-&lt;br /&gt;
! +30 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RLN (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | RLN Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +40 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | LSE (Z,X) || style=&amp;quot;color:GREEN&amp;quot; | DOP Z ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ALR #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Q    &lt;br /&gt;
|-&lt;br /&gt;
! +50 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | LSE (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | LSE Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +60 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RRD (Z,X) || style=&amp;quot;color:GREEN&amp;quot; | DOP Z ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ARR #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Q&lt;br /&gt;
|-&lt;br /&gt;
! +70 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RRD (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | RRD Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD Q,X &lt;br /&gt;
|-&lt;br /&gt;
! +80 || style=&amp;quot;color:GREEN&amp;quot; | DOP #n ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n || style=&amp;quot;color:GREEN&amp;quot; | SAX (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SAX Z ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n ||     || style=&amp;quot;color:RED&amp;quot; | ANE #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SAX Q&lt;br /&gt;
|-&lt;br /&gt;
! +90 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:RED&amp;quot; | SHA (Z),Y||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SAX Z,Y ||     ||     ||     || style=&amp;quot;color:RED&amp;quot; | SHS Q,Y || style=&amp;quot;color:GREEN&amp;quot; | SHY Q,X ||     || style=&amp;quot;color:GREEN&amp;quot; | SHX Q,Y || style=&amp;quot;color:RED&amp;quot; | SHA Q,Y &lt;br /&gt;
|-&lt;br /&gt;
! +A0 ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Z ||     ||     ||     || style=&amp;quot;color:RED&amp;quot; | ANX #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Q&lt;br /&gt;
|-&lt;br /&gt;
! +B0 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | LAX (Z),Y ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Z,Y ||     ||     ||     || style=&amp;quot;color:RED&amp;quot; | LAS Q,Y ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX Q,Y &lt;br /&gt;
|-&lt;br /&gt;
! +C0 ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n || style=&amp;quot;color:GREEN&amp;quot; | DCP (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SBX #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Q&lt;br /&gt;
|-&lt;br /&gt;
! +D0 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | DCP (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | DCP Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP Q,Z  &lt;br /&gt;
|-&lt;br /&gt;
! +E0 ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP #n || style=&amp;quot;color:GREEN&amp;quot; | ISB (Z,X) ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Z ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SBC #n ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Q&lt;br /&gt;
|-&lt;br /&gt;
! +F0 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | ISB (Z),Y || style=&amp;quot;color:GREEN&amp;quot; | DOP Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Z,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | ISB Q,Y || style=&amp;quot;color:GREEN&amp;quot; | TOP Q,X ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB Q,X &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Legenda:&lt;br /&gt;
&amp;lt;br&amp;gt;n - dane w trybie natychmiastowym,&lt;br /&gt;
&amp;lt;br&amp;gt;Q - adres dwubajtowy,&lt;br /&gt;
&amp;lt;br&amp;gt;Z - adres jednobajtowy danych lub adresu pośredniego,&lt;br /&gt;
&amp;lt;br&amp;gt;* - dodać cykl przy zmianie strony.&lt;br /&gt;
&amp;lt;br&amp;gt;Użyto mnemoników stosowanych w makroassemblerze [[MADS]] oraz monitorze emulatora [[Atari800Win_PLus|Atari800Win PLus]].&lt;br /&gt;
&lt;br /&gt;
== KODY STABILNE ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ANC / ANC&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej. Znacznik C ustawiany tak jak N.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
| ANC #n || $0B || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ANC #n || $2B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SAX / SAX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND pomiędzy A i rejestrem X, wynik zapisuje w pamięci. Rejestry A i X pozostają niezmienione.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SAX Z || $87 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|SAX Z,Y || $97 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|SAX (Z,X) || $83 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|SAX Q || $8F || 3 || 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ALR / ALR&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej, następnie LSR @.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ALR #n || $4B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SBX / SBX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND pomiędzy rejestrem X i A, wynik w rejestrze X.&lt;br /&gt;
Znacznik C ustawiany gdy zawartość rejestru X jest większa lub równa danej.&lt;br /&gt;
Od rejestru X odejmuje daną (bez pożyczki).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SBX #n || $CB || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;DCM / DCP&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Zmniejsza o jeden wartość bajtu pamięci następnie wykonuje CMP na A i tej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|DCP Z || $C7 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|DCP Z,X || $D7 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|DCP Q || $CF || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|DCP Q,X || $DF || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|DCP Q,Y || $DB || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|DCP (Z,X) || $C3 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|DCP (Z),Y || $D3 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;INS / ISB&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Zwiększa o jeden zawartość pamięci. Od A odejmuje wartość pamięci (z pożyczką).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ISB Z || $E7 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|ISB Z,X || $F7 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ISB Q || $EF || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ISB Q,X || $FF || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ISB Q,Y || $FB || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ISB (Z,X) || $E3 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|ISB (Z),Y || $F3 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NOP / NPO&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Niepublikowany NOP&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $1A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $3A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $5A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $7A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $DA || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $FA || 1 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NOP / NPO (DOP)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Dwubajtowy NOP&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z || $04 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $14 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $34 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z || $44 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $54 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z || $64 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $74 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $80 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $82 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $89 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $C2 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $D4 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $E2 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $F4 || 2 || 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NOP / NPO (TOP)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Trzybajtowy NOP&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q || $0C || 3 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $1C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $3C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $5C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $7C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $DC || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $FC || 3 || 4 *&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SBC / SBC (?)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Niepublikowany SBC #n.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SBC #n || $EB || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;LAX / LAX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Załaduje daną do A i rejestru X.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|LAX Z || $A7 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|LAX Z,Y || $B7 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|LAX Q || $AF || 3 || 4&lt;br /&gt;
|-&lt;br /&gt;
|LAX Q,Y || $BF || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|LAX (Z,X) || $A3 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|LAX (Z),Y || $B3 || 2 || 5 *&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;RLA / RLN&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje ROL na pamięci, następnie AND z A (wynik w A).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|RLN Z || $27 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|RLN Z,X || $37 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RLN Q || $2F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RLN Q,X || $3F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RLN Q,Y || $3B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RLN (Z,X) || $23 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|RLN (Z),Y || $33 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;RRA / RRD&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje ROR na pamięci, następnie ADC z A (wynik w A).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|RRD Z || $67 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|RRD Z,X || $77 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RRD Q || $6F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RRD Q,X || $7F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RRD Q,Y || $7B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RRD (Z,X) || $63 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|RRD (Z),Y || $73 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ASO / ASO&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje ASL na pamięci, następnie ORA z A (wynik w A).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ASO Z || $07 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|ASO Z,X || $17 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ASO Q || $0F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ASO Q,X || $1F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ASO Q,Y || $1B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ASO (Z,X) || $03 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|ASO (Z),Y || $13 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;LSE / LSE&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje LSR na pamięci, następnie EOR z A (wynik w A). &lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|LSE Z || $47 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|LSE Z,X ||$57 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|LSE Q || $4F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|LSE Q,X || $5F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|LSE Q,Y || $5B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|LSE (Z,X) || $43 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|LSE (Z),Y || $53 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHX / SHX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do starszego bajtu adresu dodaje jeden i wykonuje AND z rejestrem X.&lt;br /&gt;
Tak otrzymaną wartość zapisuje w pamięci.&lt;br /&gt;
Jeśli nastąpiło przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHX Q,Y || $9E || 3 || 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHY / SHY&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do starszego bajtu adresu dodaje jeden i wykonuje AND z rejestrem Y.&lt;br /&gt;
Tak otrzymana wartość zapisuje w pamięci.&lt;br /&gt;
Jeśli nastąpiło przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHY Q,X || $9C || 3 || 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ARR / ARR&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Gdy znacznik D=0 rozkaz działa następująco:&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej po czym ROR.&lt;br /&gt;
&amp;lt;br&amp;gt;Znacznik C wpisuje do b7, b6 do znacznika C, do V b6 EOR b5.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ARR #n || $6B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== KODY NIESTABILNE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;CIM / CIM&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Blokuje procesor.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $02 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $12 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $22 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $32 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $42 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $52 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $62 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $72 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $92 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $B2 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $D2 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $F2 || 1 || -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHA / SHA&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do starszego bajtu adresu dodaje jeden i wykonuje AND z A, następnie AND z rejestrem X.&lt;br /&gt;
Tak otrzymaną wartość zapisuje w pamięci.&lt;br /&gt;
Jeśli nastąpi przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHA Q,Y || $9F || 3 || 5&lt;br /&gt;
|-&lt;br /&gt;
|SHA (Z),Y || $93 || 2 || 6&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHS / SHS&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do rejestru S zapisuje wynik operacji A AND X następnie do starszego bajtu adresu dodaje&lt;br /&gt;
jeden, wykonuje AND z S i zapisuje wynik w pamięci.&lt;br /&gt;
Jeśli nastąpi przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHS Q,Y || $9B || 3 || 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;LAS / LAS&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na zawartości pamięci i rejestru S, wynik zapisuje w rejestrach A, X, S.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|LAS Q,Y || $BB || 3 || 4 *&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ANE / ANE&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki procesora ustawiane są wg. operacji argument AND A.&lt;br /&gt;
&amp;lt;br&amp;gt;Rozkaz najpierw wykonuje sumę logiczną argumentu i wartości $EF, następnie operacji AND na rejestrze X i wyniku. W kolejnym kroku z tak otrzymaną wartością wykona AND z A. Wynik w A. &lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ANE #n || $8B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ANX / ANX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje operację argument AND A, wynik zapisuje w A oraz rejetrze X.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ANX #n || $AB || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== CIEKAWOSTKI ==&lt;br /&gt;
Rozkazy niepublikowane użyte zostały w grze [[Alley Cat]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Atari 8-bit]]&lt;/div&gt;</summary>
		<author><name>Xxl</name></author>
	</entry>
	<entry>
		<id>https://atariki.krap.pl/index.php?title=Nieudokumentowane_rozkazy_6502C&amp;diff=32210</id>
		<title>Nieudokumentowane rozkazy 6502C</title>
		<link rel="alternate" type="text/html" href="https://atariki.krap.pl/index.php?title=Nieudokumentowane_rozkazy_6502C&amp;diff=32210"/>
		<updated>2012-04-23T17:26:38Z</updated>

		<summary type="html">&lt;p&gt;Xxl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Listę niepublikowanych kodów (zwanych również rozkazami nielegalnymi) [[6502C]] [[SALLY]] można podzielić na dwie grupy. [[Nieudokumentowane_rozkazy_6502C#KODY STABILNE|Kody stabilne]] (&amp;lt;span style=&amp;quot;color: green&amp;quot;&amp;gt;zielone&amp;lt;/span&amp;gt;) działają na wszystkich komputerach Atari serii [[XL]]/[[XE]] oraz tej części modeli [[400]]/[[800]] w której montowano procesor [[6502C]] [[SALLY]], natomiast [[Nieudokumentowane_rozkazy_6502C#KODY NIESTABILNE|kody niestabilne]] (&amp;lt;span style=&amp;quot;color: red&amp;quot;&amp;gt;czerwone&amp;lt;/span&amp;gt;) na procesorze [[6502C]] działają w sposób nieprzewidywalny.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot;&lt;br /&gt;
! KOD !! +00 !! +01 !! +02 !! +03 !! +04 !! +05 !! +06 !! +07 !! +08 !! +09 !! +0A !! +0B !! +0C !! +0D !! +0E !! +0F !! +10 !! +11 !! +12 !! +13 !! +14 !! +15 !! +16 !! +17 !! +18 !! +19 !! +1A !! +1B !! +1C !! +1D !! +1E !! +1F&lt;br /&gt;
|-&lt;br /&gt;
! +00 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | ASO || style=&amp;quot;color:GREEN&amp;quot; | DOP ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ANC || style=&amp;quot;color:GREEN&amp;quot; | TOP ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | ASO || style=&amp;quot;color:GREEN&amp;quot; | DOP ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | ASO || style=&amp;quot;color:GREEN&amp;quot; | TOP ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ASO  &lt;br /&gt;
|-&lt;br /&gt;
! +20 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RLN ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ANC ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RLN || style=&amp;quot;color:GREEN&amp;quot; | DOP ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | RLN || style=&amp;quot;color:GREEN&amp;quot; | TOP ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RLN  &lt;br /&gt;
|-&lt;br /&gt;
! +40 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | LSE || style=&amp;quot;color:GREEN&amp;quot; | DOP ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ALR ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | LSE || style=&amp;quot;color:GREEN&amp;quot; | DOP ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | LSE || style=&amp;quot;color:GREEN&amp;quot; | TOP ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LSE  &lt;br /&gt;
|-&lt;br /&gt;
! +60 ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RRD || style=&amp;quot;color:GREEN&amp;quot; | DOP ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ARR ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | RRD || style=&amp;quot;color:GREEN&amp;quot; | DOP ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | RRD || style=&amp;quot;color:GREEN&amp;quot; | TOP ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | RRD  &lt;br /&gt;
|-&lt;br /&gt;
! +80 || style=&amp;quot;color:GREEN&amp;quot; | DOP ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP || style=&amp;quot;color:GREEN&amp;quot; | SAX ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SAX ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP ||     || style=&amp;quot;color:RED&amp;quot; | ANE ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SAX ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:RED&amp;quot; | SHA ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SAX ||     ||     ||     || style=&amp;quot;color:RED&amp;quot; | SHS || style=&amp;quot;color:GREEN&amp;quot; | SHY ||     || style=&amp;quot;color:GREEN&amp;quot; | SHX || style=&amp;quot;color:RED&amp;quot; | SHA  &lt;br /&gt;
|-&lt;br /&gt;
! +A0 ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX ||     ||     ||     || style=&amp;quot;color:RED&amp;quot; | ANX ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | LAX ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX ||     ||     ||     || style=&amp;quot;color:RED&amp;quot; | LAS ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | LAX  &lt;br /&gt;
|-&lt;br /&gt;
! +C0 ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP || style=&amp;quot;color:GREEN&amp;quot; | DCP ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SBX ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | DCP || style=&amp;quot;color:GREEN&amp;quot; | DOP ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | DCP || style=&amp;quot;color:GREEN&amp;quot; | TOP ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DCP  &lt;br /&gt;
|-&lt;br /&gt;
! +E0 ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | DOP || style=&amp;quot;color:GREEN&amp;quot; | ISB ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | SBC ||     ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB ||     ||     || style=&amp;quot;color:RED&amp;quot; | CIM || style=&amp;quot;color:GREEN&amp;quot; | ISB || style=&amp;quot;color:GREEN&amp;quot; | DOP ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | NPO || style=&amp;quot;color:GREEN&amp;quot; | ISB || style=&amp;quot;color:GREEN&amp;quot; | TOP ||     ||     || style=&amp;quot;color:GREEN&amp;quot; | ISB  &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Legenda:&lt;br /&gt;
&amp;lt;br&amp;gt;n - dane w trybie natychmiastowym,&lt;br /&gt;
&amp;lt;br&amp;gt;Q - adres dwubajtowy,&lt;br /&gt;
&amp;lt;br&amp;gt;Z - adres jednobajtowy danych lub adresu pośredniego,&lt;br /&gt;
&amp;lt;br&amp;gt;* - dodać cykl przy zmianie strony.&lt;br /&gt;
&amp;lt;br&amp;gt;Użyto mnemoników stosowanych w emulatorze [[Atari800Win_PLus|Atari800Win PLus]] oraz makroassemblerze [[MADS]].&lt;br /&gt;
&lt;br /&gt;
== KODY STABILNE ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ANC / ANC&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej. Znacznik C ustawiany tak jak N.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
| ANC #n || $0B || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
| ANC #n || $2B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SAX / SAX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND pomiędzy A i rejestrem X, wynik zapisuje w pamięci. Rejestry A i X pozostają niezmienione.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SAX Z || $87 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|SAX Z,Y || $97 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|SAX (Z,X) || $83 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|SAX Q || $8F || 3 || 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ALR / ALR&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej, następnie LSR @.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ALR #n || $4B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SBX / SBX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND pomiędzy rejestrem X i A, wynik w rejestrze X.&lt;br /&gt;
Znacznik C ustawiany gdy zawartość rejestru X jest większa lub równa danej.&lt;br /&gt;
Od rejestru X odejmuje daną (bez pożyczki).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SBX #n || $CB || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;DCM / DCP&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Zmniejsza o jeden wartość bajtu pamięci następnie wykonuje CMP na A i tej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|DCP Z || $C7 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|DCP Z,X || $D7 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|DCP Q || $CF || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|DCP Q,X || $DF || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|DCP Q,Y || $DB || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|DCP (Z,X) || $C3 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|DCP (Z),Y || $D3 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;INS / ISB&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Zwiększa o jeden zawartość pamięci. Od A odejmuje wartość pamięci (z pożyczką).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ISB Z || $E7 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|ISB Z,X || $F7 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ISB Q || $EF || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ISB Q,X || $FF || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ISB Q,Y || $FB || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ISB (Z,X) || $E3 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|ISB (Z),Y || $F3 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NOP / NPO&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Niepublikowany NOP&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $1A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $3A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $5A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $7A || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $DA || 1 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO || $FA || 1 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NOP / NPO (DOP)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Dwubajtowy NOP&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z || $04 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $14 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $34 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z || $44 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $54 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z || $64 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $74 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $80 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $82 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $89 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $C2 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $D4 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO #n || $E2 || 2 || 2&lt;br /&gt;
|-&lt;br /&gt;
|NPO Z,X || $F4 || 2 || 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NOP / NPO (TOP)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Trzybajtowy NOP&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q || $0C || 3 || 4&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $1C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $3C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $5C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $7C || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $DC || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|NPO Q,X || $FC || 3 || 4 *&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SBC / SBC (?)&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Niepublikowany SBC #n.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SBC #n || $EB || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;LAX / LAX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Załaduje daną do A i rejestru X.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|LAX Z || $A7 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
|LAX Z,Y || $B7 || 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
|LAX Q || $AF || 3 || 4&lt;br /&gt;
|-&lt;br /&gt;
|LAX Q,Y || $BF || 3 || 4 *&lt;br /&gt;
|-&lt;br /&gt;
|LAX (Z,X) || $A3 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|LAX (Z),Y || $B3 || 2 || 5 *&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;RLA / RLN&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje ROL na pamięci, następnie AND z A (wynik w A).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|RLN Z || $27 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|RLN Z,X || $37 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RLN Q || $2F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RLN Q,X || $3F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RLN Q,Y || $3B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RLN (Z,X) || $23 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|RLN (Z),Y || $33 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;RRA / RRD&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje ROR na pamięci, następnie ADC z A (wynik w A).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|RRD Z || $67 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|RRD Z,X || $77 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RRD Q || $6F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|RRD Q,X || $7F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RRD Q,Y || $7B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|RRD (Z,X) || $63 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|RRD (Z),Y || $73 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ASO / ASO&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje ASL na pamięci, następnie ORA z A (wynik w A).&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ASO Z || $07 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|ASO Z,X || $17 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ASO Q || $0F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|ASO Q,X || $1F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ASO Q,Y || $1B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|ASO (Z,X) || $03 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|ASO (Z),Y || $13 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;LSE / LSE&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje LSR na pamięci, następnie EOR z A (wynik w A). &lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|LSE Z || $47 || 2 || 5&lt;br /&gt;
|-&lt;br /&gt;
|LSE Z,X ||$57 || 2 || 6&lt;br /&gt;
|-&lt;br /&gt;
|LSE Q || $4F || 3 || 6&lt;br /&gt;
|-&lt;br /&gt;
|LSE Q,X || $5F || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|LSE Q,Y || $5B || 3 || 7&lt;br /&gt;
|-&lt;br /&gt;
|LSE (Z,X) || $43 || 2 || 8&lt;br /&gt;
|-&lt;br /&gt;
|LSE (Z),Y || $53 || 2 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHX / SHX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do starszego bajtu adresu dodaje jeden i wykonuje AND z rejestrem X.&lt;br /&gt;
Tak otrzymaną wartość zapisuje w pamięci.&lt;br /&gt;
Jeśli nastąpiło przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHX Q,Y || $9E || 3 || 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHY / SHY&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do starszego bajtu adresu dodaje jeden i wykonuje AND z rejestrem Y.&lt;br /&gt;
Tak otrzymana wartość zapisuje w pamięci.&lt;br /&gt;
Jeśli nastąpiło przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHY Q,X || $9C || 3 || 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ARR / ARR&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Gdy znacznik D=0 rozkaz działa następująco:&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na A i danej po czym ROR.&lt;br /&gt;
&amp;lt;br&amp;gt;Znacznik C wpisuje do b7, b6 do znacznika C, do V b6 EOR b5.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,V,Z,C&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ARR #n || $6B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== KODY NIESTABILNE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;CIM / CIM&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Blokuje procesor.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $02 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $12 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $22 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $32 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $42 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $52 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $62 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $72 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $92 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $B2 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $D2 || 1 || -&lt;br /&gt;
|-&lt;br /&gt;
|CIM || $F2 || 1 || -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHA / SHA&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do starszego bajtu adresu dodaje jeden i wykonuje AND z A, następnie AND z rejestrem X.&lt;br /&gt;
Tak otrzymaną wartość zapisuje w pamięci.&lt;br /&gt;
Jeśli nastąpi przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHA Q,Y || $9F || 3 || 5&lt;br /&gt;
|-&lt;br /&gt;
|SHA (Z),Y || $93 || 2 || 6&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;SHS / SHS&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Do rejestru S zapisuje wynik operacji A AND X następnie do starszego bajtu adresu dodaje&lt;br /&gt;
jeden, wykonuje AND z S i zapisuje wynik w pamięci.&lt;br /&gt;
Jeśli nastąpi przekroczenie granicy strony zapis wykona pod adresem&lt;br /&gt;
którego starszy bajt jest równy otrzymanej wartości.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: -&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|SHS Q,Y || $9B || 3 || 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;LAS / LAS&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje AND na zawartości pamięci i rejestru S, wynik zapisuje w rejestrach A, X, S.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|LAS Q,Y || $BB || 3 || 4 *&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ANE / ANE&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki procesora ustawiane są wg. operacji argument AND A.&lt;br /&gt;
&amp;lt;br&amp;gt;Rozkaz najpierw wykonuje sumę logiczną argumentu i wartości $EF, następnie operacji AND na rejestrze X i wyniku. W kolejnym kroku z tak otrzymaną wartością wykona AND z A. Wynik w A. &lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ANE #n || $8B || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;ANX / ANX&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Wykonuje operację argument AND A, wynik zapisuje w A oraz rejetrze X.&lt;br /&gt;
&amp;lt;br&amp;gt;Znaczniki: N,Z&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
! Assembler !! kod !! dł. !! cykle&lt;br /&gt;
|-&lt;br /&gt;
|ANX #n || $AB || 2 || 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== CIEKAWOSTKI ==&lt;br /&gt;
Rozkazy niepublikowane użyte zostały w grze [[Alley Cat]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Atari 8-bit]]&lt;/div&gt;</summary>
		<author><name>Xxl</name></author>
	</entry>
</feed>