Registry jsou proměnné umístěné přímo v procesoru a jako s proměnnými s nimi lze také pracovat. S vývojem procesorů se také vyvýjely registry. Měly stále větší rozsah(16 bitové a 386+ 32 bitové) a bylo jich stále víc a víc.
Nyní popis jednotlivých registrů :
31 15 7 0 - číslo bitu ----------------------------- | EAX | ----------------------------- | | AX | ----------------------------- - toto je složení registru EAX | | AH | AL | -----------------------------Dolních 16 bitů registru EAX je samostatně přístupný registr AX. Ten je ještě rozdělen na horní a dolní byte - AH(high), AL(low). Do horních 16 bitů registru EAX se nedá přímo přistupovat jako do dolních 16. Obecně platí, že pokud je první písmenko názvu registru "E", je to 32-bitový registr. Zbytek je 16 nebo 8-bitový.
Kromě popsaného registru EAX existují také EBX, ECX a EDX, které mají úplně identickou strukturu, pouze jiné písmenko.
Tyto registry se jako jediné dají použít pro určení segmentu adresy v paměti. Lze do nich přiřazovat pouze jiný, nesegmentový registr nebo číslo uložené v paměti, už vůbec je nelze sčítat, odčítat atd. Registry CS, DS a ES jsou při spuštění programu shodně nastaveny na segment programu.
----------------------------------------------------------------- | | | | | O | D | I | T | S | Z | | A | | P | | C | -----------------------------------------------------------------
O - Overflow flag | D - Direction flag | I - Interrupt flag |
T - Trap(Trace) flag | S - Sign flag | Z - Zero flag |
A - Auxiliary Carry flag | P - Parity flag | C - Carry flag |
Toto byl pouze stručný seznam, využití jednotlivých registrů budu vysvětlovat průběžně v dalších kapitolách mého skvělého kurzu.
Jak už jsem se zmínil v úvodu, veškeré 32-bitové registry existují až od 386. Dnes je tato poznámka spíše historická, ale znám ještě několik lidí, kteří doma tu 286-ku mají a proto je lepší si na začátku programu otestovat typ procesoru a na 286-ce doporučit uživateli nějakou prodejnu moderních počítačů.
Úvodní stránka | Základ jazyka | První program |
Stránku připravuje Lukáš Valenta,
1. v celostátním kole soutěže v programování, kategorie mládež.