8. Architektura mikroprocesora Intel 8086

8.2. Kody wykorzystywane w mikroprocesorach rodziny Intel x86

Najczęściej wykorzystywanym kodem alfanumerycznym jest kod ASCII w różnych odmianach.

Z kodów numerycznych wykorzystywane są najczęściej 4 kody: kod NKB, kod uzupełnień do 2, kod BCD 8421 i zapis zmiennoprzecinkowy (w koprocesorze). Pamiętamy, że w kodzie NKB dla anan-1...a0, ai ∈ {0,1} mamy

a_na_{n-1}\dots a_0 = \displaystyle\sum^n_{i=0}a_i2^i

Dla kodu uzupełnień do 2 (czyli U2) dla anan-1...a0, ai ∈ {0,1} mamy

a_na_{n-1}\dots a_0 = -a_n \cdot 2^n + \displaystyle\sum^{n-1}_{i=0}a_i2^i

Warto przypomnieć, że algorytmy podstawowych działań arytmetycznych w tym kodzie są dobrze dopasowane do sprzętu. Co przekładając na język praktyki oznacza, że są szybkie i łatwe do implementacji. Wyjaśnia to popularność zapisu U2 w mikroprocesorach.

Kod BCD (8421) wykorzystywany jest w dwu wersjach jako spakowany kod BCD (packed BCD) i niespakowany (unpacked BCD).

Zapis zmiennoprzecinkowy używany jest w kilku formatach zgodnych ze standardem IEEE 754.

Warto pamiętać, że znacznik OF =1 (OF to overflow flag) oznacza nadmiar w zapisie uzupełnień do 2, a nie w zapisie NKB.