Под командой понимается совокупность сведений, необходимых микропроцессору для выполнения требуемого действия.
Процессору необходимо задать информацию о выполняемой операции, адресную информацию об операндах, место хранения результата.
Адресная часть в свою очередь может состоять из нескольких полей. Форматом команды называется ее структура с разметкой номеров разрядов, определяющих границы отдельных полей. Число разрядов, отводимых под код операции, должно быть таким, чтобы можно было представить все машинные операции. Если система команд содержит М операций, то число разрядов в коде операции должно быть: nko > log2M
По формату все команды МП делятся на 1-, 2- и 3-байтные. 1-байтные (одноадресные) команды (в программе занимают только один адрес) содержат только одно поле, только операционную часть (код операции). Код операции содержит всю необходимую для процессора информацию – сведения о выполняемой операции, сведения об операндах и о месте результат. Например, команда ADD B (арифметическая команда). Сложить содержимое аккумулятора с содержимым регистра В. При выполнении этой команды один операнд находится в аккумуляторе, второй – в регистре В. результат остается в аккумуляторе.
1-й байт 2-й байт
Арифметическая команда ADI data. Сложить содержимое аккумулятора с операндом, который задан во втором байте кода команды. Результат оставить в аккумуляторе. Формат команды имеет вид:
1-й байт 2-й байт
1- байт 2-й и 3-й байты
Чаще всего эти команды используются для работы с адресами.
1- байт младший старший байт байт адреса адреса
Способы адресации
Типовой МП использует пять способов адресации: неявную, регистровую, непосредственную, прямую, косвенную. Регистровая адресация. Когда используются команды с этим типом адресации, источник информации и приемник информации точно определены, ими являются конкретные регистры. Команда MOV R1,R2. Переслать содержимое регистра R2 в регистр R1. R2 – источник информации, R1 – приемник информации. Источником и приемником информации может быть любой из РОН. Команды регистровой адресации очень эффективны, т.к. занимают только один байт в программе. Они быстро выполнимы, т.к. не требуют обращения к памяти, поскольку оба операнда являются содержимым внутренних регистров. Непосредственная адресация. В командах с такой адресацией данные непосредственно задаются в коде команды вслед за кодом операции. Примером такой команды является команда MVI R,data (записать в регистр R конкретное число data). Неявная адресация. Команда ADD B. Сложить содержимое аккумулятора с содержимым регистра В. Один операнд находится в аккумуляторе, другой - в регистре В. В команде аккумулятор не указывается, считается, что он задан неявно. Прямая адресация. Команды прямой адресации имеют 3-байтный формат. Они обеспечивают обмен информацией между аккумулятором и ячейкой памяти, адрес которой задан во втором и третьем байтах кода команды. Команда LDA addr. Загрузить прямо в аккумулятор операнд, адрес которого addr содержится во втором и третьем байтах.
Конкретно LDA 0850. Загрузить прямо в аккумулятор операнд, который находится в памяти по адресу 0850. Формат команды имеет следующий вид:
код операции младший байт старший байт адреса адреса
Косвенная адресация. Команды с косвенной адресацией обращаются в память по адресу, который в момент выполнения этой команды хранится в регистровой паре HL. Команда MOV M,R. Переслать содержимое регистра R в ячейку памяти М, адрес которой записан в регистровой паре H,L. Пара H,L называется регистром косвенного адреса.
Пример. Микропрограмма выполнения команды ADD B (сложить содержимое аккумулятора с содержимым регистра В). Предположим, что команда расположена в памяти по адресу 0900Н. В аккумуляторе содержится операнд 06Н, в регистре В – 08Н.
Передача происходит по внутренней шине данных
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|