Команды бинарных «операций
Арифметические и логические операфм мед
В качестве приемника в этой группе команд всегда служит аккумуля-
тор, а символом % обозначены операнды — А, В, С, D, 1, II. I.. п. (HL), (IX+d),
(IY+d)
ADD Ад А + $ - А
Арифметическое сложение!
ADC Ад А 4- $ + CY - А
Арифметическое сложение с переносом.
SUB S А - $ - А
Арифметическое вычитание.
S8C АД А - s - CY - А
Арифметическое вычитание с переносом.
AND s A AND * - А
Поразрядное логическое «И»*
OR S A OR s <* А
Поразрядное логическое «ИЛИ».
XOR s A XOR $ -А
Поразрядное исключающее «ИЛИ».
CP s А — $
Сравнение. Выполняет*
си аналогично коман-
да SUB if но результат
вычитания но запи-
сывается, а только я
соопмтсгвии с ним
изменяются биты
флагового регистра. В
табл. 6 приведены со-
стояния флагов, соот-
ветствующие результа-
там сравнения. * также
мнемоники условий,
при выполнении кото-
рых будет осуществ-
ляться не|х*ход в коман-
дах у<локжш> iicpexcwri.
Таблица 6. Результаты сравнения операндов.
Результат сомнения |
Состояние флагов |
Мнемоника условна перехода |
Аа» |
Z»t |
Z |
А*» |
z=o |
NZ |
Беззнаковое сравнение (диапазон представления чисел &Т.255) |
A<t |
CY«I |
С |
Ail |
CY«0 |
NC |
Сравнение с учетом знака (диапазон представлений чисел -12$лТ+127) |
А<% |
S=1 |
P |
Afef |
S»0 |
M |
Арифметические и логические действия над 16-разрядными операндами
CY Z P/V S N Н
ADD ML,ss HL + ss - HL 3 • • • 0- x
где ss - ВС, DE, HL, SP.
ADD IX,SS ГХ + ss - IX ? ? P<V I 0 2
где ss - ВС, DE, IX, SP.
ADD *Y,ss IY+ss-*IY 7 ? 5 0 2
где ss — ВС, DE, IY, SP.
Арифметическое сложение.
. .. CY Z P/V S N H
ADC HL,s$ HL * ss + CY - HL j j v t о x
где ss - ВС, DE, HL, SP.
Арифметическое сложение с переносом.
CY Z P/V < N H
SBC HUs HL — ss — CY HL t t v | i x
где ss - ВС, DE, HL, SP.
Арифметическое вычитание с переносом.
Команды унарных операций
В трех следующих командах преобразования производятся над чис-
лом, записанным i аккумулятор.
DAA 8С01 А) -» A V f'П ? V
Преобразование числа ш упакованный двоично-десятичный формат. Исполь-
зуется обычно после операций над двоично-десятичными числами*.
Пусть, например, нужно сложить два двоично-десятичных числа 1 5 и 39
(00010101 н 00! 11001 соответственно).
LD A,%00010t0t
LD Cv-%00111001
ADD А,С ;A=%01001U0
DAA ; A»%010t0100
Согласно правилам двоичной арифметики в результате сложения в
аккумулятор будет помещено число #4Е, однако операция DAA скор рек*
тирует это значение, я конечный результат составит 54.
~ CVZP/VS N И
CPL А А
Преобразование числа » обратный код (все биты инвертируются).
л CY Z P/V S N И
MEG 0 - А - A X X v t 1 t
Преобразование числа в дополнительный код.
- CY Z P/V S N Н
CCF CY - CY j ... о ж
Инвертирование значения флага переноса CY.
CY Z P/V S N Н
SCF I - CY 1 ... о о
Установка флага переноса CY.
CY Z P/V S N Н
INC d d + 1 - d • t v | о j
где d - А. В, С, D, E, H, L, (HL), (IX+d), (IY+d).
INC dd dd + 1 dd
где dd - Вt, DE, HL, SP, IX, IY.
Инкремент (прибавление к значению операнда Ьдиницы).
CY Z P/V S N Н
DEC d d - 1 - d • X v % i г
где d - А, В, С, D, Е, Н, L, (HL), (IX+d); (IY+d).
CY Z P/V S N Н
DEC dd dd - 1 - dd ......
где dd - ВС, DE, HL, SP, IX, IY.
Декремент (вычитание из значения оиеранда единицы).