Adresace paměti procesoru 8086

Šířka adresové sběrnice je 20 bitů - adresuje 1 MB (220 = 1 milion bajtů)

Adresu zapisujeme ve tvaru segment : offset

Vytváření adresy


Postup při vytváření adresy:
  1. 16 bitový segmentový registr se posune o 4 bity vlevo (na nejnižší 4 bity se připíšou nuly), což odpovídá násobení 16.
  2. K takto vzniklému číslu se přičte offset. Ten je 16 bitový.
  3. Vznikne 20 bitová fyzická adresa, ukazující na konkrétní místo v paměti.
Díky takovému způsobu adresování je paměť rozdělena na jednotlivé segmenty o velikosti 64 kB. Segmentová část adresy po vynásobení 16 ukazuje na začátek segmentu a offset je pozice v segmentu vzhledem k jeho začátku.

Offset - určuje pohyb po segmentu. Je 16bitový => segment bude mít 64kB


Pro uložení segmentu slouží u procesoru 8086 čtyři druhy 16bitových segmentových registrů:
  • CS (Code Segment) - je určen pro výpočet adresy instrukce
  • DS (Data Segment) - pro výpočet adresy dat
  • SS (Stack Segment) - při přístupu k zásobníku
  • ES (Extra Segment) - může obsahovat pomocný datový segment


coded by Xagatron, powered by XRS engine