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

		<summary type="html">&lt;p&gt;Reconstructed from archived HTML; see provenance manifest&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nowa strona&lt;/b&gt;&lt;/p&gt;&lt;div&gt;W protokole transmisji [[SIO]] do każdego przesyłanego bloku danych dołączany jest pojedynczy bajt sumy kontrolnej, pozwalający wykryć ewentualny błąd transmisji. Bajt sumy kontrolnej jest dołączany na końcu bloku komendy wysyłanej przez komputer, oraz na końcu każdego bloku danych wysyłanego do/z urządzenia zewnętrznego.&lt;br /&gt;
&lt;br /&gt;
SIO oblicza sumę kontrolną dodając do siebie kolejne bajty przesyłanego bloku, przy czym do wyniku każdego z dodawań dodawane jest przeniesienie. Przykład obliczenia sumy kontrolnej 256 bajtów umieszczonych pod arbitralnie wybranym adresem w pamięci (oznaczonym etykietą DATA):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;     LDX #$00&lt;br /&gt;
     STX CHKSUM&lt;br /&gt;
     CLC&lt;br /&gt;
LOOP LDA DATA,X&lt;br /&gt;
     ADC CHKSUM&lt;br /&gt;
     ADC #$00&lt;br /&gt;
     STA CHKSUM&lt;br /&gt;
     INX&lt;br /&gt;
     BNE LOOP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
W języku C (wynik w zmiennej &amp;#039;&amp;#039;cks&amp;#039;&amp;#039;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    unsigned char cks = 0;&lt;br /&gt;
    unsigned short nck;&lt;br /&gt;
    int i;&lt;br /&gt;
&lt;br /&gt;
    for (i = 0; i &amp;amp;lt; 256; i++)&lt;br /&gt;
    {&lt;br /&gt;
        nck = cks + data[i];&lt;br /&gt;
        cks = (nck &amp;amp;gt; 0x00ff) ? ((nck &amp;amp;amp; 0x00ff) + 1) : (nck &amp;amp;amp; 0x00ff);&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Glosariusz]]&lt;br /&gt;
[[Kategoria:Niezbędnik kodera]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Atariki recovery</name></author>
	</entry>
</feed>