Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Выч. машины, системы и сети. Пособие. 80С51 v0.26.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
6 Мб
Скачать
☆

3.4 Система команд

3.4.1 Общая характеристика

Микро-ЭВМ рассматриваемого семейства являются типичными микропроцессорными устройствами с архитектурой CISC со стандартным набором команд. Поэтому их система команд довольно обширна — включает в себя 111 основных команд. Они занимают в памяти один, два или три байта, причем большинство из них (94%) – одно- или двухбайтные. Все команды выполняются за один или два машинных цикла (соответственно 1 или 2 мкс при тактовой частоте 12 МГц), исключение – команды умножения и деления, которые выполняются за четыре машинных цикла (4 мкс).

В качестве операндов команд микро-ЭВМ семейства 8051 могут использовать отдельные биты, четырехбитные цифры, байты и двухбайтные слова.

Все эти черты обычны для набора команд любого CISC-процессора и, по сравнению с наборами команд RISC-процессоров, имеют большую компактность программного кода и высокое быстродействие при выполнении сложных операций.

В то же время, набор команд семейства 8051 имеет несколько особенностей, связанных с типичными функциями, выполняемыми микроконтроллерами — управлением, для которого типичным является оперирование с одноразрядными двоичными сигналами, большое число операций ввода выводи и ветвлений программы.

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

Все команды MCS-51 по функциональному признаку можно подразделить на пять групп:

  • пересылки данных;

  • арифметических операций;

  • логических операций;

  • операций над битами;

  • передачи управления.

3.4.2 Типы команд

Всего микро-ЭВМ выполняют 13 типов команд, они приведены в табл. 3.2. Как следует из нее, первый байт команды всегда содержит код операции (КОП), а второй и третий (если они присутствуют в команде) – адреса операндов или их непосредственные значения.

Здесь и далее при описании системы команд микропроцессора используются следующие обозначения:

Rn (n = 0, 1,..., 7) – регистр общего назначения в выбранном банке регистров;

@Ri(i= 0, 1) – регистр общего назначения в выбранном банке регистров, используемый в качестве регистра косвенного адреса;

ad – адрес прямо адресуемого байта;

ads – адрес прямо адресуемого байта-источника;

add – адрес прямо адресуемого байта-получателя;

ad11 – 11-разрядный абсолютный адрес перехода;

ad16 – 16-разрядный абсолютный адрес перехода;

rel – относительный адрес перехода;

#d – непосредственный операнд;

#d16 – непосредственный операнд (2 байта);

Типы команд

Таблица 3.2.

Тип команды

Первый байт D7…D0

Второй байт D7…D0

Третий байт D7...D0

тип 1

коп

тип 2

коп

#d

тип 3

коп

ad

тип 4

коп

bit

тип 5

коп

rel

тип 6

коп

а7...a0

тип 7

коп

ad

#d

тип 8

коп

ad

rel

тип 9

коп

ads

add

тип 10

коп

#d

rel

тип 11

коп

bit

rel

тип 12

коп

ad16h

ad16l

тип 13

коп

#d16h

#d16l

bit – адрес прямо адресуемого бита;

/bit – инверсия прямо адресуемого бита;

А — аккумулятор;

РС – счетчик команд;

DPTR – регистр указатель данных;

(A), (addr), (Rn) – содержимое аккумулятора, ячейки памяти, регистра;

((DPTR)), ((PC)) – содержимое ячейки памяти, адрес которой находится в аккумуляторе, ячейке памяти, регистре, указателе памяти данных, программном счётчике.