ОПЕРАЦИИ В АККУМУЛЯТОРЕ
Команды этой группы изменяют содержимое РгП (F) в соответствии с содержимым аккумулятора (рис. 7.15).
Выполняемые операции подразделяются на двуместные и одноместные.
Операции двуместные
В общем случае РОН = AçBçCçDçEçHçL; СКО – символьный код операции. Остальные обозначения аналогичны приведённым на рис. 7.13.
В свою очередь, двуместные операции в аккумуляторе делятся на арифметические и логические.
- Арифметические операции:
- Логические (побитовые) операции:
- Арифметическая операция:
- Логические операции:
- Сдвиги на 1 разряд:
- сложение содержимого аккумулятора с содержимым РОН, ячеек памяти (косвенная адресация по HL), непосредственным операндом;
- сложение содержимого аккумулятора и тех же операндов и бита переноса C (часто обозначают CY);
- вычитание из содержимого аккумулятора содержимого РОН, ячеек памяти (косвенно адресуемых по HL) или непосредственного операнда;
- вычитание из содержимого аккумулятора тех же операндов и бита переноса;
- сравнение содержимого аккумулятора с содержимым РОН, ячейками памяти (косвенно адресуемых по HL), непосредственным операндом.
В последнем случае вычисляется разность (A) – (операнд), которая никуда не записывается (т.е. A не изменится), а используется для установки флагов в регистре признаков F.
Рассмотрим несколько примеров:
ADD B A ¬ (A) + (B);
SUB M A ¬ (A) - (ячейка (M));
ACI 07 A ¬ (A) + 07 + C;
CMP D (A) - (D) ® установка F, (A) – не изменилось.
- конъюнкция содержимого аккумулятора с содержимым РОН, ячейки памяти (косвенно адресуемой по HL), непосредственным операндом.
- дизъюнкция содержимого аккумулятора с содержимым РОН, ячейки памяти (косвенно адресуемой по HL), непосредственным операндом.
- сложение по модулю 2 с содержимым РОН, ячейки памяти (косвенно адресуемой по HL), с непосредственным операндом.
Рассмотрим несколько примеров:
ANA D A ¬ (A) & (D);
ANI A4 A ¬ (A) & A4;
ORA M A ¬ (A) Ú (ячейка (M));
XRA E A ¬ (A) Å (E);
XRI F4 A ¬ (A) Å F4.
Операции одноместные
DAA – десятичная коррекция аккумулятора при работе с двоично-десятичными числами.
CMA – инверсия аккумулятора;
STC – установка бита C (т.е. C ¬ 1);
CMC – инверсия бита C (т.е. C ¬`C).
Две последние команды выполняются в РгП (F).
Примеры реализации сдвиговых команд приведены на рис. 7.16.