→ Пошук по сайту       Увійти / Зареєструватися

Команди асемблера для Intel: AAA, AAD, AAM, AAS

ААА 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 і З в залишку 

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 

загрузка...
Сторінки, близькі за змістом