Каждая команда, выбираемая (читаемая) из памяти процессором, определяет алгоритм поведения процессора на ближайшие несколько тактов. Код команды говорит о том, какую операцию предстоит выполнить процессору и с какими операндами (то есть кодами данных), где взять исходную информацию для выполнения команды и куда поместить результат (если необходимо). Код команды может занимать от одного до нескольких байт, причем процессор узнает о том, сколько байт команды ему надо читать, из первого прочитанного им байта или слова. В процессоре код команды расшифровывается и преобразуется в набор микроопераций, выполняемых отдельными узлами процессора.
Большая часть команд процессора работает с кодами данных (операндами). Все эти коды операндов (входные и выходные) должны где-то располагаться. Они могут находиться во внутренних регистрах процессора (наиболее удобный и быстрый вариант). Они могут располагаться в системной памяти (самый распространенный вариант). Наконец, они могут находиться в устройствах ввода/вывода (наиболее редкий случай). Определение места положения операндов производится кодом команды. Причем существуют разные методы, с помощью которых код команды может определить, откуда брать входной операнд и куда помещать выходной операнд. Эти методы называются методами адресации. Эффективность выбранных методов адресации во многом определяет эффективность работы всего процессора в целом.
Способ адресации – это способ формирования адреса операнда по адресному коду команды
Существуют следующие способы адресации:
§ непосредственная – в адресном поле команды содержится непосредственно сам операнд. Когда операндом является число, оно обычно представляется в дополнительном коде. Этот способ адресации может применяться при выполнении арифметических операций, операций сравнения, а также для загрузки констант в регистры.
КОП
Непосредственный операнд
§ прямая – адресный код команды указывает номер ячейки памяти, к которой производится обращение
КОП
Адрес операнда в ОП
операнд
ОП
§ регистровая - адресный код команды указывает на регистр микропроцессора
КОП
Имя РОН
операнд
РОН
§ косвенная - адресный код команды указывает на регистр микропроцессора, хранящий адрес операнда в оперативной памяти