Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
TCA.doc
Скачиваний:
13
Добавлен:
14.04.2019
Размер:
863.23 Кб
Скачать

4.2. Группа команд арифметических операций

Данная группа состоит из 12 команд (таб. 6) и позволяет выполнять следующие операции над 8-битными целыми двоичными числами без знака: двоичное сложение (ADD), двоичное сложение с учетом переноса (ADDC), десятичная коррекция (DA), инкремент (INC) и декремент (DEC).

При сложении используется неявная адресация источника первого операнда и места назначения результата, в качестве которых выступает аккумулятор. Содержимое аккумулятора А можно сложить с регистром, константой и ячейкой РПД. В результате суммирования возможно появление переноса, который фиксируется в специальном триггере переноса (флаг С). Команда сложения с учетом переноса позволяет выполнять суммирование многобайтных чисел.

При необходимости выполнять двоичное вычитание требуется перевести вычитаемое в дополнительный код и произвести сложение с уменьшаемым.

Все более сложные операции (умножение, деление) выполняются по подпрограммам.

Таблица 6. Группа команд арифметических операций

Название команды

Мнемокод

КОП

Т Б Ц

Операция

Сложение регистра с аккумулятором

ADD А,Rn

01101rrr

1 1 1

(A) = (A) + (Rn)

Сложение байта из РПД с аккумулятором

ADD A,@Ri

0110000i

1 1 1

(A) = (A) + ((Ri))

Сложение константы с аккумулятором

ADD A,#d

00000011

2 2 2

(А) = (A) +#d

Сложение регистра с аккумулятором и переносом                          

ADDC A,Rn

01111rrr

1 1 1

(A) = (A) + (Rn) + (С)

Сложение байта из РПД с аккумулятором и переносом

ADDC A,@Ri

0111000i

1 1 1

(A) = (A) + ((Ri)) + (С)

Сложение константы с аккумулятором и переносом

ADDC A,@d

00010011

2 2 2

(A) = (A) +#d+ (C)

Десятичная коррекция аккумулятора

DA А

01010111

1 1 1

если ((A0-3) >9) \/ ((AC) =1),то (A0-3) = (A0-3) +6 затем, если ((A4-7) >9) \/ ((C) = 1)),   то (A4-7) = (A4-7) +6

Инкремент аккумулятора

INC А

00010111

1 1 1

(А) = (А) +1

Инкремент регистра

INC Rn

00011rrr

1 1 1

(Rn) = (Rn) +l

Инкремент байта в РПД

INC @Ri

0001000i

1 1 1

((Ri)) = ((Ri)) +l

Декремент аккумулятора

DEC A

00000111

1 1 1

(A) = (A) -l

Декремент регистра

DEC Rn

11001rrr

1 1 1

(Rn) = (Rn) -1

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]