Mikroprocesory - Skripta
Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.
s vlastní operací (např. operace uložení obsahu paměťové buňky do akumulátoru) měnit obsah
indexového registru o zadanou malou hodnotu a to buď před operací (pre-inkrementace) nebo
po provedení operace (post-inkrementace).
Indexové adresování se používá v případě přístupu k datové struktuře s pevnou začáteční
adresou, typicky pole. Bázová adresa obsažená v instrukci pak ukazuje na začátek pole a
hodnota v indexovém registru vybírá daný prvek pole.
Báze plus Index (Base plus Index). Efektivní adresa se získá sečtením obsahu bázového
a indexového registru. Výpočet efektivní adresy může být u některých procesorů ovlivněn ještě
měřítkem (scale). Pak pro efektivní adresu platí:
Efektivní adresa = báze + index * měřítko.
Bázový registr může obsahovat počáteční adresu pole a indexový registr může určovat
konkrétní prvek pole. Tato technika adresování se může použít, je-li prvek pole, k němuž se má
přistupovat, předáván jako parametr. Indexový registr může mít měřítko, které odpovídá
velikosti prvku pole.
Báze plus Index plus Offset (Base plus Index plus Offset). Efektivní adresa se získá
sečtení obsahu bázového a indexového registru a offsetu. (Offset je součástí instrukce.).
S využitím měřítka:
Efektivní adresa = báze + index * měřítko + offset.
Tato adresovací technika se používá pro přístup k poli struktur (záznamů). Bázový registr
bude obsahovat počáteční adresu pole, pomocí indexového registru určíme konkrétní strukturu
v poli a offset bude určovat konkrétní prvek ve struktuře.
Nepřímé paměťové adresování (Memory Indirect Addressing), adresování druhého
řádu. Při nepřímém adresování není součástí instrukce přímo adresa operandu, ale instrukce
musí nejprve vytvořit adresu místa v paměti (nepřímou adresu), na kterém se teprve nachází
adresa operandu. Pro vytvoření nepřímé adresy lze použít libovolný z výše uvedených
adresovacích módů. Adresa vypočtená na základě některého adresovacího módu, tvoří pouze
zprostředkovatele k získání skutečné adresy operandu.