A
ААА ASCII-коррекция регистра АХ после сложения
Команда ааа используется вслед за операцией сложения add в регистре AL двух неупакованных двоично-десятичных (BCD) чисел, если в АХ находится двухразрядное неупакованное двоично-десятичное число. Команда не имеет параметров. Она преобразует результат сложения в неупакованное двоично-десятичное число, младший десятичный разряд которого находится в AL. Если результат превышает 9, выполняется инкремент содержимого регистра АН. Команда воздействует на флаги AF и CF.
Пример:
mov AX,0605h; Неупакованное BCD 65 add AL,09h; Неупакованное BCD 9, AX=060Eh ааа; AX=0704h, неупакованное BCD 74
AAD ASCII-коррекция регистра АХ перед делением
Команда aad используется перед операцией деления неупакованного двоично-десятичного (BCD) числа в регистре АХ на другое неупакованное двоично-десятичное число. Команда не имеет параметров. Она преобразует делимое в регистре АХ в двоичное число без знака, чтобы в результате деления получились правильные неупакованные двоично-десятичные числа (частное в AL, остаток в АН). Команда воздействует на флаги SF, ZF и PF.
Пример:
raov AX,0207h; Неупакованное BCD 27 mov DL,06h; Неупакованное BCD 6 aad; AX=001Bh=27 div DL; AX=0304h, т.е. 4 и 3 в остатке
AAM ASCII-коррекция регистра АХ после умножения
Команда aam используется вслед за операцией умножения двух неупакованных двоично-десятичных чисел. Команда не имеет параметров. Она преобразует результат умножения, являющийся двоичным числом, в правильное неупакованное двоично-десятичное (BCD) число, младший разряд которого помещается в AL, а старший – в АН. Команда воздействует на флаги SF, ZF и PF.
Пример:
mov AL,08h; Неупакованное BCD 8 mov CL,07h; Неупакованное BCD 7 mul CL; AX=0038h=56 aam; AX=0506h, BCD 56
AAS ASCII-коррекция регистра AL после вычитания
Команда aas используется вслед за операцией вычитания одного неупакованного двоично-десятичного числа (BCD) из другого в AL. Команда не имеет параметров. Она преобразует результат вычитания в неупакованное двоично-десятичное число. Если результат вычитания оказывается меньше 0, выполняется декремент содержимого регистра АН. Команда воздействует на флаги AF и CF; после ее выполнения AF=1, CF=1.
Пример:
mov AX,0708h; Неупакованное BCD 78 mov CL,09h; Неупакованное BCD 9 sub AL,CL; AX=07FFh aas; AX=0609h, неупакованное BCD 69