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