Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МИКРОЭВМ СЕМЕЙСТВА МК51-3.docx
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
4.97 Mб
Скачать

4.2.2. Типы (форматы) команд

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

Таблица 17

Тип команды

Первый байт 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

коп

add

ads

тип 10

коп

#d

rel

тип 11

коп

bit

rel

тип 12

коп

ad16h

ad16l

тип 13

коп

#d16h

#d16l

Тип 1 – сюда относятся однобайтовые команды, имеющие только код операции, например RETY (возврат из подпрограммы обработки прерывания), и команды с неявной и регистровой адресацией, например: ANL A,R1 (логическое умножение содержимого аккумулятора и содержимого регистра R1), CPL A (инверсия содержимого аккумулятора).

Тип 2 – сюда относятся двухбайтовые команды с применением неявной, регистровой и непосредственной адресации, например: ADD A,#01H (сложение содержимого аккумулятора с числом 01H), MOV R2,#02H (запись в регистр R2 числа 02Н).

Тип 3 – сюда относятся двухбайтовые команды с применением неявной, регистровой и прямой адресацией, например:

ORL A,22H (логическое сложение содержимого аккумулятора и содержимого ячейки ОЗУ с адресом 22Н), MOV R2, 20H (перемещение в регистр R2 содержимого ячейки ОЗУ с адресом 20Н).

Тип 4 – в группу входит большинство двухбайтовых команд операций с битами с прямой адресацией (bit), например: SETB 01Н (установить бит с прямым адресом 01Н – второй бит ячейки ОЗУ с адресом 20Н), ORL С, 02Н (логическое сложение бита переноса CY и бита с прямым адресом 02Н). Бит переноса CY, выполняющий роль битового аккумулятора, адресуется неявным способом.

Тип 5 – в группу входят двухбайтовые команды передачи управления с использованием относительного адреса (rel), например: SJMP 0FH (переход на адрес программы, отстоящий от адреса команды SJMP на значение 0FH).

Тип 6 – в группу входят двухбайтовые команды перехода по абсолютному 11-разрядному адресу, в которых младший байт адреса (а7...a0) представлен во втором байте команды, а старшие три бита находятся в первом байте вместе с кодом операции, например:

ACALL1 5FH (вызов подпрограммы имеющей адрес, состоящий из 8 разрядов младшей части адреса 5FH, и 3 разрядов старшей части адреса 001B).

Тип 7 – в группу входят трехбайтовые команды с прямой и непосредственной адресацией, например: MOV 27Н, #01Н (переместить в ячейку ОЗУ с прямым адресом 27Н число 01Н).

Тип 8 – сюда относятся трехбайтовые команды передачи управления с прямым адресом операнда (ad) и относительным адресом перехода (rel), например: DJNZ 24H,1EH (декремент операнда в ячейке ОЗУ с прямым адресом 24Н и переход по относительному адресу 1ЕН, если операнд не равен нулю).

Тип 9 – сюда относится трехбайтовая команда перемещения операнда с двумя прямыми адресами операнда источника (ads) и операнда приемника (add), например: MOV 20H, P2 (переместить операнд из порта Р2 в ячейку ОЗУ с прямым адресом 20Н).

Тип 10 - сюда относится трехбайтовая команда условного перехода – сравнение содержимого аккумулятора (А) и непосредственного операнда (#d) и переход по относительному адресу (rel), например: CJNE A,#08H,2FH.

Тип 11 – сюда входят трехбайтовые команды передачи управления с проверкой состояния бита по прямому адресу (bit), с последующим переходом по относительному адресу (rel), например:

JNB Р1.1, 2FH.

Тип 12 – сюда относятся трехбайтовые команды передачи управления с прямым 16-разрядным адресом, например:

LCALL 17FAH.

Тип 13 – сюда относится трехбайтовая команда загрузки непосредственного 16-разрядного операнда в регистр DPTR –

MOV DPTR#17FAH.