Специальные арифметическо-логические команды

Специальные арифметическо-логические команды не имеют операндов и занимают в памяти всего один байт.

Команда DAA осуществляет десятичную коррекцию результата операции однобайтного сложения. Она преобразует двоичный код содержимого аккумулятора в двоично-десятичный код. Это помогает интерпретировать результат сложения в привычной десятичной форме.

Алгоритм выполнения процессором команды DAA представлен на рис.9.1.

Если воспользоваться известными командами Бейсика, то схему выполнения команды DAA можно представить в следующем виде:

IF ((A)&0Fh)>09h OR AC=1 THEN (A)(A)+06h

IF ((A)&F0h)>90h OR CY=1 THEN (A)(A)+60h

Пример 1.48

Метка Мнемокод Комментарий

MVI A,13; первое слагаемое подготавливаем в A

MVI B,77; второе слагаемое подготавливаем в B

ADD B; сложение: A=13+77=8A AC=0 CY=0

DAA; выполняем коррекцию числа в аккумуляторе

После этого в аккумуляторе окажется число 90.

Рис. 1.3. Блок-схема алгоритма выполнения команды DAA

Другие специальные арифметическо-логические команды предназначены работы с битом переноса CY регистра признаков.

Команда STC устанавливает в 1 бит переноса CY регистра признаков.

Команда CMC инвертирует бит переноса CY регистра признаков.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: