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

AAS

ASCII коррекция после вычитания

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

OF

DF

IF

TF

SF

ZF

AF

PF

CF

?

     

?

?

*

?

*

 

Код

Команда

Описание

Процессор

Пример

3F

AAS

ASCII коррекция AL после вычитания

8086

aas

Операция:

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

   THEN

      AX = AX - 0x106h;

      EFLAGS.AF = 1;

      EFLAGS.CF = 1;

   ELSE

      EFLAGS.CF = 0;

      EFLAGS.AF = 0;

FI;

AL = AL AND 0x0Fh;

Описание:

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

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

Нет.

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

Нет.

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

Нет.


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



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

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

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