В старший байт регистра указателя стека записывается 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) - в старший разряд А-регистра