Основные форматы команд

Опубликовано декабря 17, 2017 в Архитектура процессора Intel

Система команд процессора Intel 8086 насчитывает более 10 разнообразных форматов команд, отличающихся как длиной формата (машинная команда может занимать от 1 до 6 байт, не считая возможных предшествующих ей префиксов), так и распределением полей в отдельных байтах команды.

Используются 3 вида префиксов (префиксных байтов), которые предшествуют команде и определенным образом влияют на ее выполнение.

К префиксам относятся:

1. seg — префикс замены сегмента;

2. rер — префикс повторения;

3. lock — префикс блокировки шины.

Основные форматы команд

1. Префикс замены сегмента используется для переназначения стандартных сегментов, используемых по умолчанию при обращении к памяти за операндом и (или) при записи результата.

Адрес переназначения сегмента занимает два средних бита в префиксном байте (адресацию сегментных регистров см. выше: регистровая структура (программная модель) процессора).

2. Префикс повторения используется исключительно перед командами обработки строк и заставляет повторять ее выполнение многократно в целях поэлементной обработки всей строки.
Использование префикса rер позволяет организовывать цикл по последовательной обработке элементов строки па аппаратном, а не на программном уровне.

3. При выполнении команды с предшествующим ей префиксом lock на все время выполнения команды блокируется шина, связывающая процессор с памятью и портами ввода-вывода.

Действие любого префикса распространяется только на одну машинную команду, которая следует непосредственно за ним.