Rozdział 1.5.1.3
Tryb z przemieszczeniem
W trybie z przemieszczeniem, zwanym adresowaniem bezpośrednim pamięci, argument znajduje się w pamięci,
a jego adres efektywny jest określony przez samo przemieszczenie (offset) odnoszące się do konkretnego segmentu.
Przemieszczenie to jest zapisane w polu przemieszczenia kodu rozkazu, co wyrażamy symbolicznie
[przemieszczenie].
Rozpatrzmy rozkaz przesłania do argumentu przeznaczenia EAX danej spod adresu efektywnego 245AH w segmencie
danych DS (liczba 16-bitowa zapisana heksadecymalnie) zawartego w kodzie rozkazu:
MOV EAX, [245AH]
Argument źródłowy opisany symbolem [245AH] ma tryb adresowania z przemieszczeniem, co oznacza, że znajduje
się w segmencie danych, a jego przemieszczenie 245AH zapisane jest w rozkazie.
W trybie z przemieszczeniem określenie argumentu wymaga następujących czynności:
- pobrania przemieszczenia z pola przemieszczenia rejestru IR
- odwołania do pamięci (cykl maszynowy) - wystawienia adresu na szynę adresową i
pobrania argumentu z szyny danych do rejestru (przy odczycie) lub zapisania argumentu z szyny danych (przy zapisie).
Zaletą tego trybu jest szybki dostęp do adresu efektywnego nie
wymagający obliczania. Wadą natomiast jest konieczność wykonania jednego cyklu maszynowego i fakt, że przy
dużych rozmiarach segmentów przemieszczenia są długie i powiększają objętość kodu programu.
Powrót do rozdziału 1
Powrót do strony głównej