Команды условного и безусловного переходов

Система команд МП КР580ВМ80

Символы и сокращения, применяемые при описании команд и составлении программ

Символ Сокращение
ADDR 16-битовый адрес
DATA 8-битовые данные
DATA 16 16-битовые данные
PORT 8-битовый адрес УВВ (устройства ввода-вывода)
BYTE 2 Второй байт команды
BYTE 3 Третий байт команды
R, R1, R2 Один из регистров: A, B, C, D, E, H, L
RP Одна из регистровых пар: В - задает пару ВС; D - задает пару DE; H – задает пару HL
RH Первый регистр пары
RL Второй регистр пары
Λ Логическое умножение
V Логическое сложение
Команды условного и безусловного переходов - student2.ru Сложение по модулю два
М Ячейка памяти, адрес которой задаёт содержимое регистровой пары HL, т. е. М = (HL)

Команды передачи данных, ввода-вывода и работы со стеком

Команды передачи данных служат для пересылки данных между следующими устройствами:

- регистр – регистр;

- регистр – память;

- данные, содержащиеся в команде, - регистр;

- данные, содержащиеся в команде, - память.

Команды передачи данных

Могут быть однобайтовыми, двухбайтовыми и трехбайтовыми. Эти команды не оказывают воздействия на флаги условий.

Однобайтные

MOV R1, R2 –пересылка данных из регистра в регистр. В качестве регистров может быть использован любой из регистров A, B, C, D, E, H, L. R1 ß R2

MOV R, M – пересылка данных из памяти в регистр. (М - ячейка памяти, адрес которой указан в регистровой паре HL). R ß (HL).

MOV M, R – пересылка данных из регистра в память. (HL) ß R.

Х байтовые

MVI R, DATA – пересылка непосредственная. Содержимое второго байта команды пересылается в регистр R. R ß (BYTE 2).

MVI M, DATA – пересылка в память непосредственная. (HL) ß (BYTE 2).

Х байтовые

LXI RP, DATA 16 – непосредственная загрузка регистровой пары.

(RH) ß (BYTE3), (RL) ß (BYTE2).

LDA ADDR – прямая загрузка А. Cодержимое ЯП, адрес которой указан во втором и третьем байтах команды, загружается в А. A ß [(BYTE3, BYTE2)].

STA ADDR – прямая запись содержимого А в ячейку памяти, адрес которой указан во втором и третьем байтах команды. [(BYTE3, BYTE2)] ß А.

Однобайтовые

STAX – косвенная загрузка А в память. Содержимое А пересылается в ЯП, адрес которой указан в паре регистров (RP). Может быть указана только пара В и D. (RP) ß A.

LDAX – косвенная загрузка А. Содержимое ЯП, адрес которой указан в регистровой паре (RP), пересылается в А. Может быть указана только пара В и D. А ß(RP).

Команды ввода-вывода

Для обмена данными с процессором внешние устройства имеют на своих входах и выходах регистры, называемые портами ввода-вывода. Оказывают влияние на флаги

Х байтовые

IN PORT - команда ввода данных предназначена для ввода данных из входного порта в А. Команда двухбайтовая. А ß (PORT)

OUT PORT - команда вывода данных предназначена для вывода данных из А в выходной порт. Команда двухбайтовая. (PORT) ß А.

Команды работы со стеком

Однобайтовые

PUSH RP – загрузка в стек содержимого пары регистров

PUSH PSW - загрузка в стек слово состояния программы.

POP RP – считать из стека содержимое пары регистров.

POP PSW - считать из стека слова состояния программы.

XTHL – обмен содержимого верхушки стека и содержимого регистров H и L.

(L) ↔ (SP)

(H) ↔ (SP) + 1

SPHL – пересылка содержимого регистров H и L в указатель стека.

(SP) ↔ (H)(L).

Команды обработки данных

К этим командам относятся команды выполнения арифметических операций и команды выполнения логических операций.

Арифметические команды

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

Однобайтовые

ADD R – команда сложения содержимого А с содержимым регистра. А ß А + R

ADD M – команда сложения содержимого А с содержимым ЯП, адрес которой находится в регистровой паре HL. А ß A + (HL)

Х байтовые

ADI DATA – непосредственное сложение. А ß А + (ВYTE2).

Однобайтовые

ADC R - сложение содержимого регистра с А с переносом. A ß A + R + (CY)

ADС M - сложение содержимого памяти с А переносом. Команды условного и безусловного переходов - student2.ru

ACI - сложение константы с А с переносом АßА + (ВYTE2) + (CY)

SUB R – команда вычитания содержимого регистра из содержимого А. А ß А - R

SUB M – команда вычитания содержимого ЯП из содержимого А. A ß A - (HL)

Х байтовые

SUI DATA – непосредственное вычитание. А ß А - (ВYTE2).

Однобайтовые

SBB R – вычитание содержимого регистра и бита переноса. A ß A – R - (CY).

SBB M – вычитание содержимого ЯП и бита переноса. A ß A – (HL) – (CY).

SBB R - вычитание регистра с заёмом (уменьшаемое меньше вычитаемого).

A ß A - R - (CY)

SBB М - вычитание памяти с заёмом. А ß А - (HL) - (CY)

Х байтовые

SBI DATA – непосредственное вычитание с заёмом. A ß A - (BYTE2) – (CY).

Однобайтовые

INR R – увеличение содержимого регистра на 1. R ß R + 1.

INR M – увеличение содержимого памяти на 1. (НL) ß (НL) + 1.

DCR R – уменьшение содержимого регистра на 1. R ß R – 1.

DCR M – уменьшение содержимого памяти на 1. (HL) ß (HL) – 1.

INX RP – увеличение содержимого регистровой пары на 1.

[(RH)(RL)] ß[(RH)(RL)] + 1.

DCX RP – уменьшение содержимого регистровой пары на 1.

[(RH) (RL)] ß [(RH) (RL)] – 1.

DAD RP – сложение содержимого пары регистров с содержимым регистров H и L.

[(H)(L)] ß [(H)(L)] + [(RH)(RL)].

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

Логические команды

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

Однобайтовые

ANA R – операция конъюнкция (логическое умножение) над содержимым регистра и А.

А ß (А Λ R).

ANA M – операция конъюнкция над содержимым ЯП и А. Аß [А Λ (HL)].

Х байтовая

ANI DATA - непосредственная операция конъюнкция. А ß (А Λ ВYTE2).

Однобайтовые

XRA R – регистровая операция сложение по модулю 2 (операция неравнозначности).

(А) ß (А Команды условного и безусловного переходов - student2.ru R).

XRA M – операция сложение по модулю 2 над памятью. Команды условного и безусловного переходов - student2.ru .

Х байтовая

XRI DATA – непосредственная операция сложение по модулю 2. (A)ß [(A) Команды условного и безусловного переходов - student2.ru (BYTE2)].

Однобайтовые

ORA R – регистровая операция дизъюнкция (логическое сложение). A ß (A V R).

ORA M – операция дизъюнкция над памятью. (A)ß [A V (HL)].

Х байтовые

ORI DATA – непосредственная операция дизъюнкция. A ß (A V BYTE2).

Однобайтовые

CMP R – сравнение содержимого регистра с содержимым А. А - R, содержимое А не изменяется.

CMP M – сравнение содержимого ЯП с содержимым А. A - (HL), содержимое А не изменяется.

Х байтовая

CPI DATA – непосредственное сравнение. А – (ВYTE2), содержимое А не изменяется.

Однобайтовые

CMA – инвертирование А. A ß Команды условного и безусловного переходов - student2.ru .

RLC - циклический сдвиг содержимого А на один разряд влево.

RRC - циклический сдвиг содержимого А на один разряд вправо.

Команды управления

Команды этой группы предназначены для управления работой МП.

EI – разрешить прерывание.

DI – запретить прерывание.

Однобайтовые

HLT – останов выполнения текущей программы до тех пор пока не появится запрос на прерывание от устройств ввода вывода.

NOP – пустая операция. Команда используется для организации временных задержек.

Команды условного и безусловного переходов

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

Наши рекомендации