ХАНДЫФАР
Инструкция DAS
Десятичная корректировка регистра AL после вычитания
DAS - Десятичная корректировка регистра AL после вычитания.
Корректирует результат вычитания двух упакованных значений BCD для создания упакованного результата BCD. Регистр al является подразумеваемым исходным и целевым операндами. Инструкция das полезна только тогда, когда она следует за инструкцией sub, которая вычитает одно 2-значное, упакованное значение BCD из другого и сохраняет результат в регистре al. Затем команда das корректирует содержимое регистра al таким образом, чтобы оно содержало правильный 2-значный, упакованный результат BCD. Если обнаружено десятичное заимствование, флаги CF и AF устанавливаются соответственно.
Флаги CF и AF устанавливаются, если корректировка значения приводит к десятичному смещению в любой цифре результата. Флаги SF, ZF и PF устанавливаются в соответствии с результатом. Флаг OF не определён.
Предположим, что регистр al содержит упакованное значение (8716). После вычитания упакованного значение 18 из регистра al регистр al будет содержать значение (6F16). Затем инструкция das корректирует значение в регистре al что бы было правильное упакованное значение. Это тоже самое что и 87 - 18 = 69.
Инструкция DAS
Десятичная корректировка регистра AL после вычитания
DAS - Десятичная корректировка регистра AL после вычитания.
Корректирует результат вычитания двух упакованных значений BCD для создания упакованного результата BCD. Регистр al является подразумеваемым исходным и целевым операндами. Инструкция das полезна только тогда, когда она следует за инструкцией sub, которая вычитает одно 2-значное, упакованное значение BCD из другого и сохраняет результат в регистре al. Затем команда das корректирует содержимое регистра al таким образом, чтобы оно содержало правильный 2-значный, упакованный результат BCD. Если обнаружено десятичное заимствование, флаги CF и AF устанавливаются соответственно.
Флаги CF и AF устанавливаются, если корректировка значения приводит к десятичному смещению в любой цифре результата. Флаги SF, ZF и PF устанавливаются в соответствии с результатом. Флаг OF не определён.
Предположим, что регистр al содержит упакованное значение (8716). После вычитания упакованного значение 18 из регистра al регистр al будет содержать значение (6F16). Затем инструкция das корректирует значение в регистре al что бы было правильное упакованное значение. Это тоже самое что и 87 - 18 = 69.