Elimantas,
Поскольку GJ ответил вам, вы не можете напрямую вернуться к флагу регистрации, поскольку некоторые из этих флагов являются флагами READ-ONLY, но вместо этого используйте инструкции, нацеленные на некоторые из этих флагов по отдельности.
CLC - Очистить флаг переноса
STC - Установить флаг переноса
CLD - Очистить флаг направления
STD - Установить флаг направления
CLI - ОчиститьФлаг прерывания
STI - Установить флаг прерывания
CMC - Дополнить флаг переноса.Инвертирует значение CF.
LAHF - Загрузка AH с младшими 8 битами флагов регистра:
Бит AH: 7 6 5 4 3 2 1 0
[SF] [ZF] [0] [AF] [0] [PF] [1] [CF]
SAHF -Храните AH в младших 8 битах флагов регистра:
Бит AH: 7 6 5 4 3 2 1 0
[SF] [ZF] [0] [AF] [0] [PF] [1] [CF]
Теперь, если вы хотите проверить флаги и предпринять соответствующие действия в ответ настатус этих флагов, лучше использовать «Условный переход», например:
JNZ, JZ,: переход, если нулевые флаги сброшены или установлены соответственно.
JNC, JC: переход, еслиФлаги переноса имеют значение «Очистить» или «Установить» соответственно.
JNO, JO: переход, если флаги переполнения имеют значение «Сброс» или «Установить» соответственно.
JPE, JPO: переход, если флаги четности являются четными или нечетными соответственно.
И другие условные переходы существуют, просто проверьте ссылку на инструкцию 8086.
Еще одна вещь, которую вы должны искать, это набор команд, которые влияют на регистр флагов, а не только инструкция ADD, многие другиеповлиять на этот регистр, вы найдете его в справочном руководстве.
Если вы хотите проверить флаги непосредственно из регистра флагов, просто:
PUSHF
POP AX;AX будет содержать статус регистра Flags
Надеюсь, что это было полезно для вас.
Khilo - АЛЖИР