Опишите состав и назначение команд работы с флагами

STC (Set Carry Flag) Установка флага переноса. Данная команда используется для установки флага cf в 1. Такая необходимость может возникнуть при работе с командами сдвига, арифметическими командами или действиями по индикации ошибок в программах

CLC (CLear Carry flag) Сброс флага переноса. Данная команда используется для сброса флага cf в 0. Такая необходимость может возникнуть при работе с командами сдвига, арифметическими командами либо действиями по индикации обнаружения ошибок и различных ситуаций в программе.

STD (SeT Direction Flag) Установка флага направления. Данная команда используется для установки флага df в 1. Такая необходимость может возникнуть при работе с цепочечными командами. Единичное состояние флага df вынуждает МП производить декремент регистров si и di при выполнении цепочечных операций.

CLD (CLear Direction flag) Сброс флага направления. Данная команда используется для сброса флага df в 0. Такая необходимость может возникнуть при работе с цепочечными командами. Нулевое значение флага df вынуждает МП при выполнении цепочечных операций производить инкремент регистров si и di.

STI (SeT Interrupt flag) Установка флага прерывания. Данная команда используется для установки флага if в 1. Такая необходимость может возникнуть при разработке программ обработки прерываний

CLI (CLear Interrupt flag) Сброс флага прерывания. Данная команда используется для сброса флага if в 0. Такая необходимость может возникнуть при разработке программ обработки прерываний.

CMC (CoMplement Carry flag) Инвертирование флага переноса. Данная команда используется для изменения значения флага cf на противоположное. В частности, этот флаг можно использовать для связи с процедурой и по его состоянию судить о результате работы данной процедуры. После выхода из процедуры этот флаг можно проанализировать командой условного перехода jc.

LAHF (Load AH register from register Flags) Загрузка регистра AH флагами из регистра eFlags/Flags. Извлечение содержимого младшего байта регистра eflags/flags, в котором содержатся пять флагов: cf, pf, af, zf и sf. Из-за того, что регистр флагов непосредственно недоступен, команду lahf можно применять для анализа и последующего изменения командой sahf состояния некоторых флагов регистра eflags/flags.

SAHF (Store AH register into register Flags) Загрузка регистра флагов eFlags/Flags из регистра AH. Запись содержимого регистра ah в младший байт регистра eflags/flags, в котором содержатся пять флагов cf, pf, af, zf и sf.Эта команда используется совместно с командой lahf. Из-за того, что регистр флагов непосредственно недоступен, сочетание этих команд можно применять для анализа - и, возможно, изменения - состояния некоторых флагов в регистре eflags/flags. Содержимое старшей части регистра флагов не изменяется.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: