Форматы команд
Под форматом команды следует понимать длину команды, количество, размер, положение, назначение и способ кодировки ее полей. Команды, как и любая информация в ЭВМ, кодируются двоичными словами, которые должны содержать в себе следующие виды информации: □ тип операции, которую следует реализовать в данной команде (КОП); □ место в памяти, откуда следует взять первый операнд (А1); □ место в памяти, откуда следует взять второй операнд (А2); □ место в памяти, куда следует поместить результат (A3). Каждому из этих видов информации соответствует своя часть двоичного слова — поле, а совокупность полей (их длины, расположение в командном слове способ кодирования информации) называется форматом команды. В свою очередь, некоторые поля команды могут делиться на подполя. Формат команды, поля которого перечислены выше, называется трехадресным (рис. 2.1, а). (Страница27) Рис. 2.1. Форматы команд: а — трехадресный; б — двухадресный; в — одноадресный; г — безадресный Команды трехадресного формата занимают много места в памяти, в то же время далеко не всегда поля адресов используются в командах эффективно. Действительно, наряду с двухместными операциями (сложение, деление, конъюнкция и др.) встречаются и одноместные (инверсия, сдвиг, инкремент и др.), для которых третий адрес не нужен. При выполнении цепочки вычислений часто результат предыдущей операции используется в качестве операнда для следующей. Более того, нередко встречаются команды, для которых операнды не определены (СТОП) или подразумеваются самим кодом операций (DAA, десятичная коррекция аккумулятора). Поэтому в системах команд реальных ЭВМ трехадресные команды встречаются редко. Чаще используются двухадресные команды (рис. 2.1, 6), в этом случае в бинарных операциях результат помещается на место одного из операндов, Для реализации одноадресных форматов (рис. 2.1, в) в процессоре предусматривают специальную ячейку — аккумулятор. Первый операнд и результат всегда размещаются в аккумуляторе, а второй операнд адресуется полем А. Реальная система команд обычно имеет команды нескольких форматов, причем тип формата определяется в поле КОП.
|