WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте

В системе команд x86 совместимых процессоров инструкция CLI — сокращение от «Clear Interrupt-Enable Flag». Она сбрасывает interrupt flag (IF) в регистре EFLAGS. Когда этот флаг сброшен процессор игнорирует все прерывания (кроме NMI) от внешних устройств.

Опкод данной инструкции — 0xFA.

Обзор

Инструкция CLI относится к классу инструкций ввода-вывода. В защищённом режиме, если её вызывает код, CPL которого численно больше IOPL, то процессор генерирует исключение #GP(0). Например, если IOPL = 2, то выполнять эту команду может код в 0, 1 и 2 кольцах защиты. Современные операционные системы устанавливают IOPL = 0, чтобы только ядро могло исполнять эту инструкцию.

Следует обратить внимание, что IF может также быть изменён загрузкой EFLAGS, к примеру инструкцией POPF.

CLI обычно используется как средство синхронизации в однопроцессорных системах. Пара инструкций CLI/STI может быть использована, чтобы выделить код, выполнение которого нельзя прервать, асинхронными прерываниями. В многопроцессорных системах инструкция CLI изменяет только IF того процессора, на котором она запущена и не изменяет IF других. Поэтому там для синхронизации надо применять другие механизмы.

Синхронные (программные) прерывания, вызываемые инструкциями INT, INT3, INTO, BOUND обрабатываются независимо от состояния флага IF.

Поскольку инструкция HLT останавливает процессор, до тех пор, пока не произойдёт прерывание, комбинация CLI/HLT приводит к полной остановке машины.

См. также

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2025
WikiSort.ru - проект по пересортировке и дополнению контента Википедии