Эта ловушка происходит после выполнения команды, если до выполнения команды был установлен флаг TF. Отметим, что данное исключение не происходит после выполнения команды, устанавливающей флаг TF. Например, если команда POPF используется для установки флага TF, то ловушка пошагового выполнения не происходит до следующей после POPF команды.
Процессор очищает флаг TF перед вызовом обработчика исключения. Если флаг TF был установлен в TSS во время переключения задачи, то исключение может произойти после выполнения первой команды новой задачи.
Флаг пошагового выполнения не очищается при изменении привилегированности внутри задачи. Однако, команды INT очищают флаг TF. Следовательно, отладчики программного обеспечения с пошаговым выполнением кода должны распознавать и эмулировать команды INT n или INTO, а не выполнять их непосредственно.
Для обслуживания средств защиты операционная система должна проверять текущий уровень привилегированности после каждой пошаговой ловушки, чтобы проверить, что на текущем уровне привилегированности пошаговое выполнение может быть продолжено.
Приоритеты прерываний гарантируют, что в случае внешнего прерывания пошаговое выполнение остановится. Когда внешнее прерывание и ловушка пошагового выполнения происходят одновременно, первым обрабатывается прерывание пошагового выполнения. Оно очищает флаг TF. После сохранения адреса возврата или переключения задачи вход внешнего прерывания исследуется до выполнения первой команды обработчика пошаговой ловушки. Если внешнее прерывание все еще ожидает обработки, то оно обслуживается. Обработчик внешних прерываний в режиме пошагового выполнения не работает. Для выполнения его за один шаг выполните вызывающую обработчик прерывания команду INT n.