Команды логических операций

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

Формат, байтов Время тактов Код Мнемокод Наименование команды Описание операций
* MOV R1, R2 Пересылка данных из регистра в регистр Байт из регистра R2 копируется в регистр R1
* MOV R, M Пересылка данных из памяти в регистр Байт из ячейки памяти, адрес которой хранится в регистровой паре HL, копируется в регистр R
* MOV M, R Пересылка данных из регистра в память Байт из регистра R копируется в ячейку памяти, адрес которой хранится в регистровой паре HL
* MVI R, B2 Пересылка непосредственных данных в регистр Байт информации (2-й байт команды) записывается в указанный регистр
MVI M, B2 Пересылка непосредственных данных в память Байт информации (2-й байт команды) записывается в ячейку памяти, адрес которой хранится в паре HL
* LXI RR, B2B3 Непосредственная загрузка регистровой пары В старший регистр регистровой пары записывается 3-й байт B3 команды, а в младший регистр – 2-й байт B2
* LXI SP, B2B3 Непосредственная загрузка регистра указателя стека В старший байт регистра указателя стека записывается 3-й байт B3 команды, а в младший байт – 2-й байт B2
STA B2B3 Прямое запоминание содержимого регистра A Содержимое регистра A записывается по адресуB2B3
3A LDA B2B3 Прямая загрузка A-регистра В регистр A записываются данные, хранящиеся по адресу B2B3
* LDAX RR Косвенная загрузка A-регистра В регистр A записываются данные, адрес которых указан в регистровой паре RR
* STAX RR Косвенное запоминание содержимого регистра A Содержимое регистра A записывается по адресу, находящемуся в регистровой паре RR
2A LHLD B2B3 Прямая загрузка H-пары регистров В регистр L записываются данные из адреса B2B3, а в регистр H – из адреса B2B3+1
SHLD B2B3 Прямое запоминание содержимого H-пары регистров Из регистра L данные записывается по адресу B2B3, а из регистра H - по адресу B2B3+1
EB XCHG Обмен между H- и D-парами регистров Содержимое регистров H и D, L и E соответственно меняются местами

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

Команды обработки данных выполняют арифметические операции над содержимым А-регистра и регистра R, регистровой парой, ячейкой памяти или непосредственными данными. Выполнение почти всех команд изменяет значение регистра флагов F.

Команда DAA – десятичная коррекция содержимого регистра преобразовывает данные регистра А по следующему принципу:

Если младшая тетрада А-регистра больше 9 или флаг АС=1, то содержимое А-регистра увеличивается на 6, а к старшей тетраде прибавляется 1. Затем, если старшая тетрада А-регистра больше 9 или флаг CY=1, то содержимое А-регистра увеличивается на 60

Формат, байтов Время тактов Код Мнемо- код Наименование команды Описание операции Биты признаков
S Z AC P C
* ADD R Сложение содержимого регистра и содержимого А-регистра В А-регистр записывается результат суммы содержимого А-регистра и содержимого R-регистра + + + + +
ADD M Сложение содержимого ячейки памяти и содержимого А-регистра В А-регистр записывается результат суммы содержимого А-регистра и содержимого ячейки памяти, адрес которой хранится в (H,L)-паре + + + + +
C6 ADI B2 Сложение непосредственных данных и содержимого А-регистра В А-регистр записывается результат суммы содержимого А-регистра и непосредственных данных(B2) + + + + +
* ADC R Сложение содержимого регистра и содержимого А-регистра с переносом В А-регистр записывается результат суммы содержимого А-регистра, содержимого R-регистра и значения флага (CY) + + + + +
8E ADC M Сложение содержимого ячейки памяти и содержимого А-регистра с переносом В А-регистр записывается результат суммы содержимого А-регистра, содержимого ячейки памяти, адрес которой хранится в(H,L)-паре, и значения флага (CY) + + + + +
CE ACI B2 Сложение непосредственных данных и содержимого А-регистра с переносом В А-регистр записывается результат суммы содержимого А-регистра, непосредственных данных(B2) и значения флага (CY) + + + + +
* SUB R Вычитание содержимого регистра из содержимого А-регистра В А-регистр записывается результат вычитания от содержимого А-регистра содержимого R-регистра + + + + +
SUB M Вычитание содержимого ячейки памяти из содержимого А-регистра В А-регистр записывается результат вычитания от содержимого А-регистра содержимого ячейки памяти, адрес которой хранится в (H,L)-паре + + + + +
D6 SUI B2 Вычитание непосредственных данных из содержимого А-регистра В А-регистр записывается результат вычитания от содержимого А-регистра непосредственных данных (B2) + + + + +
* SBB R Вычитание содержимого регистра из содержимого А-регистра с заемом В А-регистр записывается результат вычитания от содержимого А-регистра содержимого R-регистра и значения флага (CY) + + + + +
9E SBB M Вычитание содержимого ячейки памяти из содержимого А-регистра с заемом В А-регистр записывается результат вычитания от содержимого А-регистра содержимого ячейки памяти, адрес которой хранится в (H,L)-паре, и значения флага (CY) + + + + +
DE SBI B2 Вычитание непосредственных данных из содержимого А-регистра с заемом В А-регистр записывается результат вычитания от содержимого А-регистра непосредственных данных (B2) и значения флага (CY) + + + + +
* INR R Инкрементирование содержимого регистра Содержимое регистра (R) увеличивается на 1 + + + + -
INR M Инкрементирование содержимого ячейки памяти Содержимое ячейки памяти, адрес которой находиться в (H,L)-паре, увеличивается на 1 + + + + -
* INX RR Инкрементирование содержимого регистровой пары Содержимое (RR)-пары увеличивается на 1 - - - - -
* DCR R Декрементирование содержимого регистра Содержимое регистра (R) уменьшается на 1 + + + + -
DCR M Декрементирование содержимого ячейки памяти Содержимое ячейки памяти, адрес которой находиться в (H,L)-паре, уменьшается на 1 + + + + -
* DCX RR Декрементирование содержимого регистровой пары Содержимое (RR)-пары уменьшается на 1 - - - - -
* DAD RR Сложение содержимых регистровой пары и Н-пары регистров В (H,L)-пару заносится результат суммы между содержимым (H,L)-пары и (RR)-пары - - - - +
DAA Десятичная коррекция содержимого А-регистра Если младшая тетрада А-регистра больше 9 или флаг АС=1, то содержимое А-регистра увеличивается на 6. Затем - если старшая тетрада А-регистра больше 9 или флаг CY=1, то содержимое А-регистра увеличивается на 60h + + + + +

Команды логических операций

Команды логических операций выполняют логические операции над содержимым А-регистра и регистра R, ячейкой памяти или непосредственными данными.

Команды логических операций можно разделить на следующие группы:

· команды логической операции И (ANA, ANI);

· команды логической операции ИЛИ (ORA, ORI);

· команды логической операции исключающее ИЛИ (XRA, XRI);

· команды сравнения (CMP, CPI);

· команды циклических сдвигов (RAR, RAL, RLC, RRC);

· команды дополнений (CMA, CMC);

· команда установки признака переноса (STC).

Выполнение почти всех команд изменяет значение регистра флагов F.

Формат, байтов Время тактов Код Мнемо- код Наименование команды Описание операции Биты признаков
S Z AC P C
* ANA R Поразрядное И над содержимым регистра и А-регистра Осуществляется поразрядное выполнение логической операции И над содержимым регистра (R) и А-регистра + + +
A6 ANA M Поразрядное И над содержимым ячейки памяти и А-регистра Осуществляется поразрядное выполнение логической операции И над содержимым ячейки памяти, адрес которой хранится в (H,L)-паре и А-регистра + + +
E6 ANI B2 Поразрядное И над непосредственными данными и содержимым А-регистра Осуществляется поразрядное выполнение логической операции И над непосредственными данными (В2) и содержимым А-регистра + + +
* XRA R Поразрядное ИСКЛЮЧАЮЩЕЕ ИЛИ над содержимым регистра и А-регистра Осуществляется поразрядное выполнение логической операции ИСКЛЮЧАЮЩЕЕ ИЛИ над содержимым регистра (R) и А-регистра + + +
AE XRA M Поразрядное ИСКЛЮЧАЮЩЕЕ ИЛИ над содержимым ячейки памяти и А-регистра Осуществляется поразрядное выполнение логической операции ИСКЛЮЧАЮЩЕЕ ИЛИ над содержимым ячейки памяти, адрес которой хранится в (H,L)-паре и А-регистра + + +
EE XRI B2 Поразрядное ИСКЛЮЧАЮЩЕЕ ИЛИ над непосредственными данными и содержимым А-регистра Осуществляется поразрядное выполнение логической операции ИСКЛЮЧАЮЩЕЕ ИЛИ над непосредственными данными (В2) и содержимым А-регистра + + +
* ORA R Поразрядное ИЛИ над содержимым регистра и А-регистра Осуществляется поразрядное выполнение логической операции ИЛИ над содержимым регистра (R) и А-регистра + + +
B6 ORA M Поразрядное ИЛИ над содержимым ячейки памяти и А-регистра Осуществляется поразрядное выполнение логической операции ИЛИ над содержимым ячейки памяти, адрес которой хранится в (H,L)-паре и А-регистра + + +
F6 ORI B2 Поразрядное ИЛИ над непосредственными данными и содержимым А-регистра Осуществляется поразрядное выполнение логической операции ИЛИ над непосредственными данными (В2) и содержимым А-регистра + + +
* CMP R Сравнение содержимых регистра и А-регистра Осуществляется "условное" вычитание (А)-(R) из А-регистра содержимое R-регистра + + + + +
BE CMP M Сравнение содержимых ячейки памяти и А-регистра Осуществляется "условное" вычитание (А)-((H,L)) из А-регистра содержимое ячейки памяти, адрес которой хранится в (H,L)-паре + + + + +
FE CPI B2 Сравнение непосредственных данных с содержимым А-регистра Осуществляется "условное" вычитание (А)-(В2) из А-регистра непосредственные данные + + + + +
RLC Циклический сдвиг влево содержимого А-регистра Разряды А-регистра смещаются влево на одну позицию. Старший разряд переходит в младший и отображается в флаге (CY) - - - - +
RAL Циклический сдвиг влево содержимого А-регистра через перенос Разряды А-регистра смещаются влево на одну позицию. Старший разряд переходит во флаг (CY), а содержимое флага (CY) - в младший разряд А-регистра - - - - +
0F RRC Циклический сдвиг вправо содержимого А-регистра Разряды А-регистра смещаются вправо на одну позицию. Младший разряд переходит в старший и отображается в флаге (CY) - - - - +
1F RAR Циклический сдвиг вправо содержимого А-регистра через перенос Разряды А-регистра смещаются вправо на одну позицию. Младший разряд переходит во флаг (CY), а содержимое флага (CY) - в старший разряд А-регистра - - - - +
2F CMA Дополнение содержимого А-регистра Содержимое А-регистра поразрядно инвертируется - - - - -
3F CMC Дополнение содержимого признака переноса Содержимое флага (CY) инвертируется - - - - +
STC Установка в единицу признака переноса В флаг (CY) записывается 1 - - - -

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