Spoznali naj bi naslednje pojme: načini naslavljanja : vsebovano, takojšnje, neposredno, posredno, relativno (na programski števnik in indeksni register)
Dokaj razumljivo je, da mora
koda ukaza vsebovati, kaj naj računalnik sploh naredi in nad katerim podatkom
naj to naredi. Vendar moramo povedati še, kako pridemo do tega podatka:
Podatek se namreč lahko nahaja v nekem od delovnih registrov računalnika, lahko
pa je tudi kje v pomnilniku. In ne nazadnje je lahko skrit kar v samem ukazu,
pravzaprav takoj za njim.
O tem, kako pridemo do podatka, govori takoimenovani način naslavljanja. Ta je
zakodiran v nekaj bitih samega ukaza. Tipično imamo naslednje možnosti:
Opomba 1:
Relativno naslavljanje je podobno indeksnemu. Razlika je le v tem, da si pri
indeksnem pomagamo s takoimenovanim indeksnim registrom, pri relativnem pa se
"naslonimo" na programski števec.
Opomba 2:
Možne so tudi različne kombinacije in dopolnitve. Včasih govorimo o "indirektnem " naslavljanju. To lahko pomeni, da
vzamemo vsebino nekega registra in jo uporabimo kot naslov podatka v
pomnilniku. V nekaterih primerih lahko pred ali po naslavljanju registre
avtomatsko povečujemo ali pomanjšujemo (preincrement,
postdecrement,..). To je zelo uporabno za delo s polji. Tipičen primer
registra, ki tako deluje, je tudi "kazalec na sklad
" (stack pointer, SP).
Še enkrat poglejmo, kako je to pri Intelovih procesorjih Pentium:
reg – registrski način naslavljanja, 32-bitni register
|
|
In kakšne načine naslavljanja
imamo pri našem poenostavljenem računalniku? |