Intel 253666-024US Manuel D’Utilisation

Page de 760
Vol. 2A 3-259
INSTRUCTION SET REFERENCE, A-M
DAS—Decimal Adjust AL after Subtraction
DAS—Decimal Adjust AL after Subtraction
Description
Adjusts the result of the subtraction of two packed BCD values to create a packed 
BCD result. The AL register is the implied source and destination operand. The DAS 
instruction is only useful when it follows a SUB instruction that subtracts (binary 
subtraction) one 2-digit, packed BCD value from another and stores a byte result in 
the AL register. The DAS instruction then adjusts the contents of the AL register to 
contain the correct 2-digit, packed BCD result. If a decimal borrow is detected, the CF 
and AF flags are set accordingly.
This instruction executes as described above in compatibility mode and legacy mode. 
It is not valid in 64-bit mode.
Operation
IF 64-Bit Mode
THEN
#UD;
ELSE
old_AL ← AL;
old_CF ← CF;
CF ← 0;
IF (((AL AND 0FH) > 9) or AF 
=
 1)
 THEN
 AL 
← AL
 −
 6;
CF ← old_CF or (Borrow from AL ← AL 
− 
6);
AF ← 1;
ELSE
AF ← 0;
FI;
IF ((old_AL > 99H) or (old_CF 
=
 1))
 THEN
AL ← AL 
 
60H;
CF ← 1;
FI;
FI;
Opcode
Instruction
64-Bit 
Mode
Compat/
Leg Mode
Description
2F
DAS
Invalid
Valid
Decimal adjust AL after 
subtraction.