Rozdział 1.5.2



Formaty rozkazów


Rozkazy w kodzie maszynowym zajmują jedno lub kilka słów maszynowych. Ich długość może być taka sama dla wszystkich rozkazów (stała długość rozkazu) lub różna dla różnych rozkazów (zmienna długość rozkazu). Ten ostatni system jest stosowany w procesorach firmy INTEL. Rozkaz musi zawierać określenie rodzaju operacji i określenie argumentów. Określenie argumentów polega na zdefiniowaniu ich lokalizacji. Argumenty mogą znajdować się w polu rozkazu, rejestrze procesora lub pamięci. Zależy to od trybu adresowania. Zawarty w rozkazie opis lokalizacji argumentu nazywamy adresem efektywnym.

Na przykład format rozkazu procesora PENTIUM składa się z opcjonalnego przedrostka i rozkazu pokazanych na rysunku.

Przedrostek
LOCKPowtarzanieZmiana
segmentu
Rozmiar
argumentu
Rozmiar
adresu

Rozkaz
Kod operacjiTyp
adresowania
Skalowanie
indeks-podstawa
PrzemieszczenieArgument
natychmiastowy

Przedrostek zawiera następujące pola:
Rozkaz zawiera następujące pola:

  • Kod operacji - 1 lub 2 bajty kodu definiującego typ rozkazu,

  • Tryb adresowania - zawiera kod wskazujący jeden z 8 rejestrów do przechowywania argumentu lub jeden z 24 trybów adresowania;

  • Skalowanie indeks-podstawa - określa czynnik skalowania, rejestr indeksowy i rejestr podstawowy przy adresowaniu trybem indeks-podstawa

  • Przemieszczenie - określa przemieszczenie (offset) jeśli trybadresowania korzysta z przemieszczenia, może ono nie występować, być 1, 2 lub 4 bajtowe

  • Argument natychmiastowy - argument operacji jeśli znajduje się on w kodzie rozkazu (tzw. argument natychmiastowy), może on nie występować, być 1, 2 lub 4 bajtowy


  • W procesorach firmy INTEL tryb adresowania jest jeden dla całego rozkazu.

    Informacje zawarte w polach rozkazu są dekodowane przez dekoder rozkazu ID, a następnie wykorzystywane przez jednostkę sterującą CU do programowania trybu pracy procesora.




    Powrót do rozdziału 1
    Powrót do strony głównej