Лекция: Команды арифметической обработки
В группе определены команды:
| ADD, ADC, ADI, ACI, DAD | Сложение |
| SUB, SBB, SUI, SBI | Вычитание |
| INR, INX | Инкремент на 1 |
| DCR, DCX | Декремент на 1 |
| DAA | Десятичная коррекция |
Предусмотрены операции как над байтами, так и над словами.
Во всех байтовых операциях сложения и вычитания аккумулятор используется как источник операнда и приемник результата. В качестве источника второго операнда применяется либо регистр src, либо ячейка памяти М, либо литерал data. В команде сложения DAD роль аккумулятора выполняет регистровая пара HL. Эта команда очень важна при организации таблиц и списков.
С помощью команд инкремента/декремента довольно просто реализовать счетчики, часто необходимые в практике программирования.
| Мнемоника | Код | Число циклов | Число тактов | Флаги: CY, Z, M, P, C, AC | Содержание |
| ADD src | 10000SSS | +++++ | A <- A + src | ||
| ADC src | 10001SSS | +++++ | A <- A + src + CY | ||
| SUB src | 10010SSS | +++++ | A <- A — src | ||
| SBB src | 10011SSS | +++++ | A <- A — src — CY | ||
| ADD M | +++++ | A <- A + (HL) | |||
| ADC M | 8E | +++++ | A <- A + (HL) + CY | ||
| SUB M | +++++ | A <- A — (HL) | |||
| SBB M | 9E | +++++ | A <- A — (HL) — CY | ||
| ADI data | C6 | +++++ | A <- A + data | ||
| ACI data | CE | +++++ | A <- A + data + CY | ||
| SUI data | D6 | +++++ | A <- A — data | ||
| SBI data | DE | +++++ | A <- A — data — CY | ||
| INR dst | 00DDD100 | -++++ | dst <- dst + 1 | ||
| DCR dst | 00DDD101 | -++++ | dst <- dst — 1 | ||
| INR M | -++++ | (HL) <- (HL) + 1 | |||
| DCR M | -++++ | (HL) <- (HL) — 1 | |||
| DAA | +++++ | A <- 2/10 корр-я A | |||
| DAD B/D/H/SP | 09/19/29/39 | +---- | HL <- HL+BC/DE/HL/SP | ||
| INX B/D/H/SP | 03/13/23/33 | — | R16 <- R16 + 1 | ||
| DCX B/D/H/SP | 0B/1B/2B/3B | — | R16 <- R16 — 1 |