Schemat kodu każdego rozkazu można podzielić na następujące części: Prefiksy instrukcji (opcjonalne) – do czterech bajtów dodatkowych informacji o instrukcji: prefiks LOCK (zapewniający wyłączność dostępu do pamięci wspólnej dla danej instrukcji), prefiksy powtarzania (REP, REPE, REPZ...) wykorzystywane w operacjach na blokach danych, prefiksy chwilowej zmiany segmentu, prefiks podpowiedzi rozgałęzienia (branch hint), pozwalający procesorowi na wybór bardziej prawdopodobnej ścieżki wykonania w przetwarzaniu potokowym, prefiksy zmiany rozmiaru operandu i zmiany rozmiaru adresu. Kod operacji długości 1-3 bajtów, zawierający często dodatkowe informacje: bit wskazujący, w którym operandzie zapisać wynik, bit oznaczający rozmiar operandów. Dodatkowe 3 bity kodu operacji znajdować się mogą także zamiast pola reg w bajcie ModR/M. Bajt ModR/M (tylko w przypadku instrukcji posiadających argumenty w pamięci lub rejestrach) – służy do określenia położenia argumentów.
Źródło i licencja
Fragment artykułu Wikipedia — IA-32 · historia autorów.
Tekst: CC BY-SA 4.0. Wydzielono fragment z dłuższego artykułu.