logo

Система команд x86
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

DAA

Десятичная коррекция AL после сложения

Влияние команды на флаги и форматы команды:

OF

DF

IF

TF

SF

ZF

AF

PF

CF

?

*

*

*

*

*

 

Код

Команда

Описание

Проц.

Пример

27

DAA

Десятичная коррекция AL после сложения

8086

daa

Операция:

tmpAL = AL;

IF ( ( (tmpAL AND 0x0F) > 0x09 ) or EFLAGS.AF = 1 )

   THEN

      tmpCF = ( (AL > 0xF9) or EFLAGS.CF );

      AL = AL + 0x06;

     EFLAGS.AF = 1;

   ELSE

     EFLAGS.AF = 0;

FI;

IF ( ( tmpAL > 0x99 ) or EFLAGS.CF = 1 )

   THEN

      AL = AL + 0x60;

      tmpCF = 1;

   ELSE

     tmpCF = 0;

FI;

EFLAGS.CF = tmpCF;

EFLAGS.OF = 0; (* недокументированнная операция *)

Описание:

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

Особые ситуации защищенного режима:


Нет.

Особые ситуации режима реальной адресации:


Нет.

Особые ситуации режима V86:


Нет.

Входит в группу команд: Базовая система команд CPU



Все права защищены © 1997-2011 Перепечатка возможна только по согласованию с владельцем авторских прав. admin@club155.ru

Яндекс.Метрика               Сервер радиолюбителей России - схемы, документация,

 соревнования, дипломы, программы, форумы и многое другое!   схемы новости электроники