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