Для данной структуры характерна принудительная выборка команд
2) трехадресная
Здесь используется естественная адресация команд
3) двухадресная
Результат всегда помещается на место одного из операндов (подразумеваемый адрес)
4) одноадресная
Адрес второго операнда и результата подразумевается (например, аккумулятор)
5) безадресная
В машинах с коротким словом практически невозможно в одном формате команды, т.е. при фиксированном назначении ее полей, кодировать большое число различных операций и одновременно иметь гибкую форму адресации операндов. Это противоречие в машинах с коротким словом преодолевается расширением кодов операций в команде. Для задания небольшой группы основных операций (арифметических и др.) используется короткий код операции, а получаемая при этом сравнительно большая адресная часть команды позволяет реализовать гибкую, например двухадресную с многими модификациями, адресацию. Для задания других операций используются более длинные (расширяемые) коды операций, при этом сокращаемая адресная часть оставляет возможность лишь для более простой, например одноадресной адресации операндов. В пределе расширяемый код операции занимает весь формат команды (безадресная команда)
Если длины частей команды постоянны, то часто невозможно кодировать большое количество различных операций и одновременно иметь гибкую форму адресации данных. Это решается расширением кодов операций.
В данном случае длина КОП не остается постоянной. Часто используемые команды кодируются по возможности меньшим количеством бит, реже используемые – большим. При этом необходимо выделение специальных кодовых комбинаций, несущих информацию о длине КОП. Как правило, данный метод усложняет дешифрацию команд, однако позволяет значительно сократить длину часто используемых команд.
Пример реализации способа на МП i8080.
a)
01 - признак команды MOV
b)
c) 00,11,10 - признак расширенного КОП. Один или несколько КОП должны указывать на наличие полностью расширенного КОП.
Дешифратор МП должен, фактически, рассматривать команду последовательно слева направо. Т.е. сначала анализируются 2 старших разряда команды. Они могут содержать либо код команды, либо признак на расширение кода. В последнем случае дешифратор начинает анализировать следующие разряды, повторяя указанный алгоритм, до окончания дешифрация команды.