Команда lahf копирует флаги SF, ZF, AF, PF и CF соответственно в разряды 7,
6, 4, 2 и 0 регистра АН. Значение битов 5, 3 и 1 регистра АН не определено.
Команда не имеет параметров и не изменяет флаги процессора.
Команда lahf (совместно с командой sahf) дает возможность читать и изменять
значения флагов процессора, в том числе флагов
SF, ZF, AF и PF, которые нельзя
изменить непосредственно. Однако следует иметь в виду, что команда lahf переносит
в АН только младший байт регистра флагов. Поэтому нельзя изменить с ее помощью,
например, состояние флага OF.
Пример 1
lahf ;Регистр АН отображает
;состояние регистра флагов
or AH,80h ;Установка бита 7 = SF
sahf ;Загрузка АН в регистр
;флагов, где теперь SF = 1
Пример 2
lahf ;Регистр АН отображает
;состояние регистра флагов
and AH,0BFh ;Сброс бита 6 = ZF
sahf ;Загрузка АН в регистр
;флагов, где теперь ZF = О