Организация памяти и способы адресации

Рис. 1.7. Форматы команд центрального процессора
Поле reg
постбайта используется для адресации тогда, когда в команде задаются два
операнда. В этом случае второй операнд всегда находится в регистре, код которого
указывается в поле постбайта в соответствии с табл. 1.1. В командах, где требуется только
один операнд, поле reg постбайта используется совместно с байтом кода операции (КОП) для увеличения вариантов
кодирования операций. Всего в ЦП используются восемь способов адресации, из которых пять
реализуются с помощью постбайта. На рис. 1.7 представлены форматы команд, иллюстрирующие
задание различных способов адресации.
Регистровая адресация. Операнд находится в
одном из РОН, код которого указывается в байте КОП (рис. 1.7, а) или в постбайте
при mod=
11 (рис. 1.7, б, в, д).
В командах с двумя операндами может быть использовано два регистра,
причем код второго задается полем reg
постбайта в соответствии с табл. 1.1. В командах, оперирующих словами,
байт КОП содержит w=1 и код регистра определяет один
из восьми 16-разрядных регистров АХ-DI. В командах, операндами которых являются байты
(w = = 0), код регистра определяет один из восьми 8-разрядных
регистров AL-ВН в
соответствии с табл. 1.1.
Непосредственная адресация. Операнд
содержится в формате команды в виде одно- или двухбайтовой константы (рис
1.7, а, б). Этот способ задается особой комбинацией значений разрядов в поле КОП и
может быть использован в большинстве команд с двумя операндами. Такие команды имеют
постбайт, что делает возможным выполнение операций над константой и операндом,
расположенным в памяти или регистре. Способ непосредственной адресации неприменим в
командах загрузки сегментных регистров и в команде занесения данных в стек. В этих случаях
используется промежуточная загрузка константы в один из регистров, указанных в табл.
1.1.
предыдущаяследующая