- •Раздел 3. Язык ассемблер
- •Тема 3.1 Оперативная память, регистры, представление данных
- •1.Программная модель микропроцессорной системы на основе мп кр580вм80
- •2.Формат данных и структура команд языка ассемблер
- •Тема 3.2 Методы адресации и система команд мп
- •1.Методы адресации
- •2. Система команд
- •Тема 3.3 Команды передачи данных и ввода-вывода
- •Тема 3.4 Команды обработки данных
- •Арифметические команды
- •Логические команды
- •Тема 3.5 Команды управления
- •Тема 3.6 Составление программ
Тема 3.4 Команды обработки данных
К этим командам относятся команды выполнения арифметических операций и команды выполнения логических операций.
-
Арифметические команды
Команды этой группы выполняют арифметические операции над данными в регистрах и памяти. Эти команды воздействуют на флаги состояний стандартным образом.
Однобайтовые
ADD R – команда сложения содержимого А с содержимым регистра. (А)← (А) + R
ADD
M
– команда сложения содержимого А с
содержимым ЯП, адрес которой находится
в регистровой паре HL. (А)
(А)+ [(H)(L)]
2-х байтовые
ADI
DATA
– непосредственное сложение.
(А)
(А) + (ВYTE2).
Однобайтовые
ADC
R
- сложение содержимого регистра с А с
переносом (A)
(A)
+ (R)
+ (CY)
ADO
M
- сложение содержимого памяти с А
переносом

ACI
- сложение константы с А с переносом
(А)
(А)
+ (В2) + (CY)
SUB
R
– команда вычитания содержимого регистра
из содержимого А. (А)
(А) - (R).
SUB
M
– команда вычитания содержимого ЯП из
содержимого А. (A)
(A) - [(H) (L)].
2-х байтовые
SUI
DATA
– непосредственное вычитание.
(А)
(А) - (ВYTE2).
Однобайтовые
SBB R – вычитание содержимого регистра и бита переноса. (A)← (A)-(R)-(CY).
SBB M – вычитание содержимого ЯП и бита переноса. (A)← (A) – (H, L) – (CY).
SBB R - вычитание регистра с заёмом (уменьшаемое меньше вычитаемого)
(A)
(A)
- (R)
- (CY)
SBB
М - вычитание памяти с заёмом (А)
(А) [(H)(L)]
- (CY)
2-х байтовые
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.
[(H)
(L)]
[(H)
(L)]
– 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
– операция конъюнкция над содержимым
ЯП и А. (А)
(А)
[(H) Λ (L)].
2-х байтовая
ANI
DATA
- непосредственная операция конъюнкция.
(А)
(А) Λ (В2).
Однобайтовые
XRA R – регистровая операция сложение по модулю 2 (операция неравнозначности).
(А)
(А)
( R).
XRA
M
– операция сложение по модулю 2 над
памятью.
.
2-х байтовая
XRI
DATA
– непосредственная операция сложение
по модулю 2.
(A)
(A)
(B2).
Однобайтовые
ORA
R – регистровая операция дизъюнкция
(логическое сложение). (A)
(A)
v (R).
ORA
M – операция дизъюнкция над памятью.
(A)
(A)
v
[(H)(L)].
2-х байтовые
ORI
DATA
– непосредственная операция дизъюнкция.
(A)
(A) v (B2).
Однобайтовые
CMP R – сравнение содержимого регистра с содержимым А. (А) - (R), содержимое А не изменяется.
CMP M – сравнение содержимого ЯП с содержимым А. (A) - [(H)(L)], содержимое А не изменяется.
2-х байтовая
CPI DATA – непосредственное сравнение. (А) – (ВYTE2), содержимое А не изменяется.
Однобайтовые
CMA
– инвертирование А. (A)
(
).
RLC - циклический сдвиг содержимого А на один разряд влево.
RRC - циклический сдвиг содержимого А на один разряд вправо.
