Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
1. Okamžité adresovanie:
* Mechanizmus: Operand je zahrnutý priamo do samotnej inštrukcie.
* Príklad: `Pridať R1, #5` (pridajte okamžitú hodnotu 5 do zaregistrovania R1).
* Výhody: Jednoduché a rýchle, pretože na načítanie operandu nie je potrebný žiadny prístup do pamäte.
* Nevýhody: Obmedzené na malé konštantné hodnoty.
2. Registrovať adresovanie:
* Mechanizmus: Operand sa nachádza v registri CPU.
* Príklad: `Pridať R1, R2` (pridajte obsah registra R2 do registrácie R1).
* Výhody: Veľmi rýchlo, pretože registre sú priamo prístupné CPU.
* Nevýhody: Obmedzený počet dostupných operandov (iba tie v registroch).
3. Priame adresovanie (absolútne adresovanie):
* Mechanizmus: Inštrukcia obsahuje adresu pamäte operandu.
* Príklad: `Načítať R1, 1000H` (načítajte obsah umiestnenia pamäte 1 000 h do registra R1).
* Výhody: Jednoduché pochopenie a implementácia.
* Nevýhody: Môže viesť k väčším veľkostiam inštrukcií, ak je na zadanie adresy pamäte potrebných veľa bitov. Nie je flexibilný pre prístup k údajom postupne.
4. Nepriame adresovanie:
* Mechanizmus: Inštrukcia obsahuje adresu pamäte A * Pamäť umiestnenie *, ktorá obsahuje adresu operandu. Myslite na to ako ukazovateľ.
* Príklad: `Load R1, [2000h]` (Načítajte obsah umiestnenia pamäte, ktorého adresa je uložená na mieste pamäte 2000h do registra R1).
* Výhody: Umožňuje dynamickú modifikáciu adries pamäte. Užitočné pre prístup k dátovým štruktúram, ako sú polia.
* Nevýhody: Vyžaduje dva prístupy do pamäte (jeden na získanie adresy, jeden na získanie údajov). Pomalšie ako priame adresovanie.
5. Zaregistrujte nepriame adresovanie:
* Mechanizmus: Inštrukcia určuje register, ktorý obsahuje adresu pamäte operandu.
* Príklad: `Načítať r1, (r2)` (načítajte obsah umiestnenia pamäte, ktorého adresa je v registri R2 do registra R1).
* Výhody: Flexibilné a efektívne na prístup k údajom v poliach alebo na miestach postupnej pamäte. Rýchlejšie ako nepriame adresovanie pomocou umiestnenia pamäte.
* Nevýhody: Stále vyžaduje prístup k pamäti.
6. Adresovanie posunu (Base + Onsint Addressing):
* Mechanizmus: Efektívna adresa sa vypočíta pridaním posunu (ofset) k obsahu základného registra.
* Príklad: `Načítať R1, [R2 + 10]` (Načítajte obsah umiestnenia pamäte na adrese (R2 + 10) do registra R1).
* Výhody: Užitočné pre prístup k prvkom v poli alebo dátovej štruktúre v porovnaní s základnou adresou.
* Nevýhody: Na výpočet efektívnej adresy si vyžaduje pridanú prevádzku.
7. Indexované adresovanie:
* Mechanizmus: Podobne ako pri oslovení posunu, ale ofset je uložený v registri indexu.
* Príklad: `Načítať R1, [R2, R3]` (Načítajte obsah umiestnenia pamäte na adrese (R2 + R3) do registra R1). Presná prevádzka závisí od architektúry; Niekedy je to R2 + R3, niekedy škálovaná verzia R3.
* Výhody: Veľmi užitočné pre spracovanie polí. Umožňuje ľahký prístup k prvkom poľa pomocou indexu.
8. Adresovanie zásobníka:
* Mechanizmus: Operand sa nachádza v hornej časti zásobníka. Pokyny ako `push` a` pop` manipulujte so zásobníkom.
* Výhody: Efektívne pre podprogramy, argumenty funkcií a miestne riadenie premenných.
* Nevýhody: Priamo má prístup iba k hornej časti zásobníka.
Toto sú najbežnejšie režimy adresovania. Konkrétne mikroprocesory môžu implementovať variácie alebo ďalšie režimy adresovania. Výber režimu adresovania ovplyvňuje dĺžku inštrukcie, rýchlosť vykonávania a flexibilitu programovania. Optimálny režim adresovania do značnej miery závisí od aplikácie a architektúry mikroprocesora.