Obsah

Registr EAX (Extended Accumulator Register)

EAX je historicky nejdůležitějším registrem v rodině procesorů Intel a AMD. Písmeno A v názvu znamená Accumulator (akumulátor), což odkazuje na jeho hlavní roli: shromažďování výsledků aritmetických a logických operací.

1. Struktura a zpětná kompatibilita

Registr EAX je 32bitový, ale je navržen tak, aby umožňoval přístup ke svým menším částem kvůli kompatibilitě se staršími 16bitovými a 8bitovými programy:

V moderní 64bitové architektuře (x86-64) je tento registr dále rozšířen na 64 bitů a nazývá se RAX.

2. K čemu EAX slouží?

I když jsou dnešní registry převážně univerzální, EAX má v assembleru několik specifických a preferovaných rolí:

3. Příklad v Assembleru

Když disassembler zobrazí kód, EAX v něm uvidíte neustále:

MOV EAX, 10      ; Vlož do registru EAX hodnotu 10
ADD EAX, 5       ; Přičti k hodnotě v EAX číslo 5 (výsledek 15 zůstává v EAX)
RET              ; Funkce končí, vrací hodnotu 15 (která je v EAX)

4. Další sourozenci EAX

EAX je součástí skupiny čtyř základních datových registrů:

Zajímavost: Pokud při ladění programu (debugování) vidíte, že po pádu aplikace je v registru EAX hodnota 0x00000000, často to znamená, že se program pokusil pracovat s „nulovým ukazatelem“ (Null Pointer), což je jedna z nejčastějších programátorských chyb.

Zpět na Vývoj a Hardware