Registry procesoru 8086

Procesor 8086 poskytuje celkem 14 šestnáctibitových registrů.

Všeobecné registry

Všeobecné registry procesoru 8086
16 bitové registry AX, BX, CX, DX jsou vždy rozděleny na 2 osmibitové. Například horních 8 bitů regsiru AX se nazvá AH (high) a dolních 8 bitů AL (low).

AX - všeobecný střádač
BX - bázový registr, jeho obsah lze použít jako offsetová část adresy
CX - je používán jako čítač při použití cyklů
DX - používá se u V/V instrukcí a při celočíselném násobení a dělení
SI - registr pro uložení offsetové části adresy zdrojového operandu
DI - registr pro uložení offsetové časti adresy cílového operandu

Segmentové registry

Segmentové registry procesoru 8086
- slouží k uložení segmentové části adresy

Řídící registry

- sem patří velice důležitý registr IP - Instruction Pointer a registr příznaků (flags)
Registr příznaků 8086

Význam jednotlivých příznaků:

CF (Carry Flag) - nastaví se na logickou hodnotu 1, jestliže při právě prováděné operaci, jež ovlivňuje tento příznak, došlo k přenosu z nejvyššího bitu a to jak u 8 bitového tak i u 16 bitového operandu. Lze měnit i ručně pomocí instrukcí STC, CLC a CMC.

PF (Parity Flag) - je nastaven na jedničku, pokud výsledek právě prováděné operace obsahuje sudý počet 1 v dolní osmici bitů (sudá parita výsledku). Při lichém počtu jedniček se tento příznak nuluje. Vypočítává se pouze z dolní osmice bitů.

AF (Auxiliary Carry Flag) - je nastaven na 1, pokud došlo k přenosu z 3 do 4 bitu bez ohledu na šířku operandu, má význam pro BCD aritmetiku.

ZF (Zero Flag) - nastaven na 1, pokud výsledek právě dokončené operace je nulový

SF (Sign Flag) - se nastaví na nulu, pokud výsledek právě prováděné operace je kladný. V případě záporného výsledku je nastaven na 1. V podstatě je to je kopie znaménkového bitu výsledku operace.

OF (Overflow Flag) - se nastaví na jedničku, pokud došlo k aritmetickému přeplnění (přenosu do znaménkového bitu)

TF (Trap Flag) - pokud je nastaven na 1, procesor je uveden do tzv. "krokovacího režimu", ve kterém je po první provedené instrukci generováno přerušní (INT 1)

IF (Interrupt Enable Flag) - je-li nastaven na 0, zakáže procesoru provádět vnější maskovatelná přerušní generovaná signálem INTR

DF (Direction Flag) - řídí směr zpracovávání řetězcových operací. Je-li nastaven na 1, obsah registrů SI a DI je dekrementován (snižován). Lze měnit instrukcemi STD a CLD.


coded by Xagatron, powered by XRS engine