Procesorový register

Register je pamäťová jednotka, ktorá obsahuje binárne číslo. Toto číslo môže mať
význam spracovávaných údajov, alebo adresy v závislosti od funkcie registra.
Všetky registre procesorov i8086 a i8088 sú 16 bitové.
Na obrázku sú registre rozdelené do štyroch skupín:

1. skupina - sú registre pre všeobecné použitie AX, BX, CX a DX

zlúčením horného a dolného bytu vzniká 16 bitový register:
H = high = vyšší byte ( 8 bitov )
L = low = nižší byte ( 8 bitov )

AX = AH + AL
BX = BH + BL 
CX = CH + CL 
DX = DH + DL 

O tom, v akom formáte bude register využívaný, rozhodne použité adresovanie
v inštrukcii.
napríklad MOV AL,0A H - je použitý 8 bitový register AL
MOV AX,0A H - je použitý 16 bitový register AX

2. skupina - sú indexové a smerníkové registre.
Smerníky ukazujú na miesto v pamäti. Obsahujú vždy relatívnu adresu, ktorá
je odvodená od počiatku adresy segmentu . Špeciálna skupina inštrukcií umožňuje
pracovať s obsahom týchto registrov.

SP Smerník zásobníka ( Stack Pointer )
BP Smerník bázy ( Base Pointer )
SI Index zdrojového operandu ( Source Index )
DI Index cieľového operandu ( Destination Index )

3. skupina - sú špeciálne registre.

IP – Čítač inštrukcií
F – Register príznakov

Čítač inštrukcii ( Instruction pointer IP ) je 16 bitový register , ktorý obsahuje
relatívne adresy. Obsahuje adresu inštrukcie , ktorá sa bude vykonávať ako nasledujúca,
alebo adresu operandu v pamäti. Programátor nemá priamu kontrolu nad
týmto registrom.

Druhým registrom z tejto skupiny je register príznakov F. Je to skupina samostatných
jedno bitových buniek, usporiadaných do 16 bitového poľa ako register.
Príznaky, ktoré sa menia v závislosti od výsledkov operácií vykonávaných v ALU:

CF – príznak prenosu (carry flag )
PF - príznak parity (parity flag )
AF - príznak pomocného prenosu ( auxilliary carry flag )
ZF - príznak nuly ( zero flag )
SF - príznak znamienka ( sign flag )
OF - príznak preplnenia ( overflow flag )
Príznaky , ktoré nereagujú na výsledky operácií vykonávaných v ALU:
TF - príznak ktorý riadi krokovanie „single step“ (trap flag )
IF - príznak pre povolenie externého prerušenia ak IF=1 ( interrupt flag )
DF – príznak pre riadenie reťazcových procesov.
Ak DF = 1 ,potom je obsah smerníkov znižovaný.
Ak DF = 0 , potom sa budú SI aDI zvyšovať.

4. skupina - sú segmentové registre.

CS – Kódový segment( Code Segment )
DS – Dátový segment( Data Segment )
SS - Zásobníkový seg.( Stack Segment )
ES - Extra segment( Extra Segment )

Sú to registre, ktoré obsahujú absolútne adresy počiatku segmentov. Adresy
uvedené v indexových registroch a smerníkoch ( SP, BP, SI, DI ) adresujú vždy len
priestor relatívne od začiatku segmentu.
Segmentové registre sú 16 bitové, hoci reprezentujú 20 bitové adresy. 20 bitová
adresa sa vytvára z hodnoty uloženej v týchto 16 bitových registroch tak, že sa na
koniec údaju pridajú štyri bity, ktoré sú vždy nulové.
Napríklad: Ak v registri CS = CE56 H znamená to, že absolútna adresa počiatku
kódového segmentu je CE560 H

CPU