Структура команды с жестко установленным значением каждого разряда (бита) в любом поле команды называется форматом. Обычно формат команды имеет разрядность, кратную одному биту.
Для машинных команд существуют различные варианты адресации операндов, в зависимости от которых существуют одно - , двух - , трехадресные, а также безадресные команды (рис. 8.4).
Рис. 8.4. Структура машинных команд
169
Одноадресная команда содержит код операции и адрес А одного операнда. При этом второй операнд уже подготовлен предыдущей командой к выполнению и находится в АЛУ процессора (рис. 8.4, а).
Двухадресная команда содержит код операции и адреса двух операндов - А1 и А2 (рис. 8.4, б). Большинство команд современных ЭВМ - двухадресные.
Трехадресная команда содержит код операции, адреса двух операндов - А1 и А2, а также адрес A3, по которому записывается в память результат выполнения этой операции (рис. 8.4, в).
Безадресная команда содержит только код операции, в котором неявно подразумевается вся недостающая информация (рис. 8.4, г).
В общем случае адресный код команды отличается от исполнительного адреса, т.е. адреса памяти, по которому производится фактическое обращение. Правильный выбор способа адресации, т.е. механизма формирования исполнительного адреса, имеет большое значение для эффективного использования технических средств ЭВМ.
Рассмотрим основные способы адресации, сделав при этом оговорку, что кроме этих способов возможны также их различные комбинации.