ФОРМАТЫ КОМАНД И СПОСОБЫ АДРАСАЦИИ



Классификация команд

В формате команды должно быть обязательно указано: откуда взять операнд, что с ним сделать и куда поместить результат. При реализации многих команд результат операции помещается в аккумулятор. Команды классифицируются по следующим признакам:

1. По назначению

1.1. Команды передачи (копирования, пересылки), позволяют информацию из одного блока микропроцессора скопировать в другой. Содержимое источника информации не изменяется.

1.2. Команды арифметических операций, позволяют выполнить некоторые арифметические операции над операндами, расположенными в различных блоках микропроцессора.

1.3. Команды логических операций, позволяют выполнить некоторые логические операции над операндами, расположенными в различных блоках микропроцессора.

1.4. Команды инвертирования и установки переносов, позволяют инвертировать содержимое аккумулятора и устанавливают значение флага FС.

1.5. Команды сравнения, позволяют выполнить операции сравнения над операндами, расположенными в различных блоках микропроцессора.

1.6. Команды сдвига, позволяют осуществить сдвиг операнда в аккумуляторе вправо или влево на один разряд по различным правилам. При сдвиге влево на один разряд, содержимое аккумулятора увеличивается в два раза, при сдвиге вправо на один разряд, содержимое аккумулятора уменьшается в два раза.

1.7. Команды перехода вызова и возврата, позволяют осуществить условный и безусловный переходы, вызвать подпрограммы и вернуться из подпрограммы.

1.8. Команды стека, позволяют осуществить общение или обмен данными со стеком, записывать и читать информацию из стека.

1.9. Команды ввода/вывода и управления, позволяют управлять работой МП и осуществлять связь микропроцессора с внешними устройствами.

По длине

2.1. Однобайтные команды – в таких командах одного байта достаточно для выполнения команды.

Например: команда ADD B имеет длину один байт, в котором задан  код операции.                 

2.2. Двухбайтные команды – для реализации такой команды необходим однобайтный операнд.

Например: команда MVI A, 2D – имеет длину два байта: в первом байте задан код операции (MVI A), во втором байте задан однобайтный операнд (2D). По этой команде число 2D запишется в аккумулятор.

2.3. Трехбайтные команды– для реализации таких команды необходим двухбайтный операнд.

  Например: команда LXI H, 05 04 – имеет длину три байта: в первом байте задан код операции (LXI H), во втором байте задан первый байт операнда (05), в третьем байте задан второй байт операнда (04). По этой команде число 05 запишется в  регистр Н, а число 04 запишется в регистр L.

По способам адресации

Способ адресации – это способ задания адреса операнда.

3.1. Команды снепосредственным способомадресации

Непосредственный способ адресации - это такой способ адресации, при котором операнд непосредственно задан в формате команды.

Например: команда MVI A, 2D – имеет длину два байта:  в первом байте команды задан код операции (MVI A), во втором байте непосредственно задан операнд (2D). По этой команде число 2D (операнд) будет записано в аккумулятор.

С помощью таких команд можно записать числа в микропроцессор для дальнейшего их использования.

3.2. Команды с прямым способом адресации.

Прямой способ адресации - это такой способ адресации, при котором адрес операндапрямо задан в формате команды.

Например: команда LDA 02 3C – по этой команде содержимое ячейки памяти с адресом 02 3C загрузиться в аккумулятор, где LDA – код операции (первый байт), 02 3C – прямо задан адрес ячейки памяти(второй и третий байты).

3.3. Команды с регистровым способом адресации.

Регистровый способ адресации - это такой способ адресации, при котором операнды располагаются в регистрах микропроцессора.

Например: MOV A, B по этой команде (В)→(А) – содержимое регистра В запишется (скопируется) в аккумулятор.

3.4. Команды с косвенно-регистровым способомадресации.

Косвенно-регистровый способ адресации - это такой способ адресации, при котором адрес операнда задан содержимым пары регистров общего назначения. Наиболее эффективен при обработке массивов данных.

LDAX B – по этой команде содержимое ячейки памяти, адрес которой записан в паре регистров ВС, записывается в аккумулятор. (<BC>)→(А).


Дата добавления: 2018-05-13; просмотров: 377; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!