CLI (x86)

CLI (x86)

В системе команд 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 приводит к полной остановке машины.

См. также



Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Полезное


Смотреть что такое "CLI (x86)" в других словарях:

  • CLI — Saltar a navegación, búsqueda Significados de CLI: Command line interface o en español Línea de comandos (interacción con una computadora, y en contraste a un GUI) Call Level Interface (un API de gestión de base de datos SQL) Common Language… …   Wikipedia Español

  • CLI — may refer to: Computing Command line interface, sending commands to a computer by text typed into a command line interpreter (command line shell). Call Level Interface, an SQL database management API Common Language Infrastructure, a Microsoft… …   Wikipedia

  • CLI — Интерфейс командной строки (англ. Command Line Interface, CLI). Common Language Infrastructure общеязыковая инфраструктура для платформы Microsoft .NET. CLI (x86) инструкция x86 совместимых процессоров сокращение от «CLear Interrupts» АОН… …   Википедия

  • X86 assembly language — is the assembly language for the x86 class of processors, which includes Intel s Pentium series and AMD s Athlon series. Like all assembly languages, it uses short mnemonics to represent the fundamental operations that the CPU in a computer can… …   Wikipedia

  • CLI — Die Abkürzung CLI steht für: Call Level Interface, ein Standard API zum Zugriff auf Datenbanken Calling Line Identification, siehe Vermittlungstechnische Leistungsmerkmale (öffentliche Netze) Clear Interrupts, eine Instruktion des x86 Assemblers… …   Deutsch Wikipedia

  • Cli — Die Abkürzung CLI steht für Call Level Interface, ein Standard API zum Zugriff auf Datenbanken Calling Line Identification, siehe Vermittlungstechnische Leistungsmerkmale (CLIP) Clear Interrupts, eine Instruktion des x86 Assembler Command Line… …   Deutsch Wikipedia

  • IF (x86 flag) — IF (Interrupt Flag) is a system flag bit in the x86 architecture s FLAGS register, which determines whether or not the CPU will handle maskable hardware interrupts.cite web |url=http://download.intel.com/design/PentiumII/manuals/24319102.PDF|forma… …   Wikipedia

  • Jeu D'instruction X86 — Article détaillé : Jeu d instructions. Le jeu d instructions du x86 a subi de nombreux changements au cours du temps. La plupart d entre eux ne sont que des ajouts au jeu d instruction initial afin d apporter de nouvelles fonctionnalités.… …   Wikipédia en Français

  • Jeu d'instruction x86 — Article détaillé : Jeu d instructions. Le jeu d instructions du x86 a subi de nombreux changements au cours du temps. La plupart d entre eux ne sont que des ajouts au jeu d instruction initial afin d apporter de nouvelles fonctionnalités.… …   Wikipédia en Français

  • STI — В системе команд x86 совместимых процессоров, инструкция STI  сокращение от «Set Interrupt Enable Flag». Она устанавливает флаг interrupt flag (IF) в регистре EFLAGS, что разрешает процессору обрабатывать асинхронные прерывания от внешних… …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»