Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций Комп схем и АК 2011.doc
Скачиваний:
705
Добавлен:
10.02.2016
Размер:
13.66 Mб
Скачать

17.3. Операции в аккумуляторе

Команды этой группы изменяют содержимое РгП (F) в соответствии с содержимым аккумулятора (рис. 17.3).

Выполняемые операции подразделяются на двуместные и одноместные.

В общем случае РОН = ABCDEHL; СКО – символьный код операции.

В свою очередь, двуместные операции в аккумуляторе делятся на арифметические и логические.

Операции двуместные

  • Арифметические операции:

  • сложение содержимого аккумулятора с содержимым РОН, ячеек памяти (косвенная адресация по HL), непосредственным операндом;

  • сложение содержимого аккумулятора и тех же операндов и бита переноса C (часто обозначают CY);

  • вычитание из содержимого аккумулятора содержимого РОН, ячеек памяти (косвенно адресуемых по HL) или непосредственного операнда;

  • вычитание из содержимого аккумулятора тех же операндов и бита переноса;

  • сравнение содержимого аккумулятора с содержимым РОН, ячейками памяти (косвенно адресуемых по HL), непосредственным операндом.

Рис.17.3. Схема взаимодействия узлов МП при выполнении двуместных операций в аккумуляторе

В последнем случае вычисляется разность (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).

  • Сдвиги на 1 разряд:

Примеры реализации сдвиговых команд приведены на рис. 17.4.

Рис.17.4. Схема выполнения операций сдвига

17.4. Операции в рон и памяти

Ряд операций в МП комплекте КР580 могут быть выполнены помимо аккумулятора, непосредственно в РОН и ячейках памяти. К таким операциям относятся:

Инкремент/декремент

Арифметические однооперандные операции увеличения на 1 (инкремент) и уменьшения на 1 (декремент) являются распространенными операциями для организации счетчиков при просмотре таблиц. На рис. 17.5 представлены примеры выполнения этих команд с РОН, регистровой парой и ячейкой памяти, косвенно адресуемой по HL.

Рис.17.5. Инкремент/декремент

Рассмотрим два примера:

Следует помнить, что при инкременте/декременте регистровой пары содержимое рассматривается как единое 16-разрядное число. При выполнении этой команды РгП не изменяется. При выполнении команды инкремента/декремента РОН и ячеек памяти, косвенно адресуемых по HL, РгП изменяется.

Сложение двухбайтовых операндов

DAD rp HL  (HL) + (rp)

rp = BDHSP

В РгП изменяется только признак C (CY).