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

AAA

ASCII коррекция после сложения

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

OF

DF

IF

TF

SF

ZF

AF

PF

CF

?

     

?

?

*

?

*

 

Код

Команда

Описание

Процессор

Пример

37

AAA

ASCII коррекция AL после сложения

8086

aaa

Операция:

IF ( (AL AND 0x0Fh) > 9) OR (EFLAGS.AF = 1) )

   THEN

      IF (Процессор Intel286, ...)

         THEN AX = AX + 6;

         ELSE AL = AL + 6;

      FI;

      AH = AH + 1;

      EFLAGS.AF = 1;

      EFLAGS.CF = 1;

   ELSE

      EFLAGS.AF = 0;

      EFLAGS.CF = 0;

FI;

AL = AL AND 0Fh;

Описание:

Выполняйте команду AAA только после выполнения команды ADD, которая помещает однобайтный результат в регистр AL. Младшая тетрада операнда команды ADD должна быть в диапазоне от 0 до 9 (BCD цифры). В этом случае команда AAA корректирует регистр AL таким образом, что он будет содержать правильную десятичную цифру. Если при сложении происходит десятичный перенос, тогда регистр AH увеличивается на единицу, а также устанавливаются флаги CF и AF. Если при этом же сложении в старшей тетраде регистра AL получилось значение 0xFh, тогда регистр AH увеличивается на единицу еще раз. Если при сложении десятичного переноса не возникло, тогда сбрасываются флаги CF и AF, а регистр AH не изменяется. В любом случае, старшая тетрада регистра AL обнуляется. Для того, чтобы преобразовать содержимое регистра AL к ASCII формату, необходимо после команды AAA выполнить команду OR AL,0x30h .

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

Нет.

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

Нет.

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

Нет.


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



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

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

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