Команды DAA, DAS
Рубрика: Архитектура PC
(Команды CPU)
1757
Опубликовано: 26.04.2017
Команды DAA и DAS осуществляют коррекцию упакованных двоично-десятичных чисел после операцй сложения и вычитания. Упакованные двоично-десятичные числа отличаются от обычных двоично-десятичных чисел тем, что каждая цифра числа хранится не в байте, а в соответствующей половине байта. То есть например число 11 будет в упакованном виде записан не как 0101h, а как 11h.
Команда DAA
Синтаксис: | DAA |
Операнды: | Нет |
Назначение: | Десятичная коррекция после сложения |
Процессор: | 8086+ |
Флаги: | Флаги AF и CF устанавливаются при наличии десятичного переноса и очищаются при его отсутствии. Флаги SF, ZF и PF устанавливаются в соответствии с результатом. Значение флага OF не определено. |
Комментарий: | Команда DAA производит десятичную коррекцию суммы двух упакованных двоично-десятичных чисел в регистре AL. Эта команда обычно используется сразу после команды сложения двух таких чисел, или после команды INC. |
Ограничения: | Нет |
Примеры: |
mov ax,19h inc al ;AX = 1Ah daa ;AX = 20h |
Команда DAS
Синтаксис: | DAS |
Операнды: | Нет |
Назначение: | Десятичная коррекция после вычитания |
Процессор: | 8086+ |
Флаги: | Флаги AF и CF устанавливаются при наличии десятичного заема и очищаются при его отсутствии. Флаги SF, ZF и PF устанавливаются в соответствии с результатом. Значение флага OF не определено. |
Комментарий: | Команда DAS производит десятичную коррекцию разности двух упакованных двоично-десятичных чисел в регистре AL. Эта команда обычно используется сразу после команды вычитания двух таких чисел, или после команды DEC. |
Ограничения: | Нет |
Примеры: |
mov ax,20h dec al ;AX = 1Fh das ;AX = 19h |
Комментарии (0)