Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Регистр флагов микропроцессора






Регистр флагов — регистр процессора, отражающий текущее состояние процессора.

Содержание

 

· Архитектура х86

· Флаги состояния в активном состоянии

o Управляющий флаг

o Системные флаги и поле IOPL

o Идентификация процессора

Архитектура x86

В микропроцессорахIntel8086 имеет название FLAGS и является 16-разрядным. Расширенные регистры EFLAGS и RFLAGS, введённые в архитектурах IA-32 (процессоры 80386) и x86-64, являются 32-битными и 64-битными соответственно. Расширенные регистры сохраняют обратную совместимость.

Регистр флагов содержит группу флагов состояния, управляющий флаг и группу системных флагов [1]:

Регистр флагов Intel x86
Бит, № Обозначение Название Описание Тип флага Когда введён
FLAGS
  CF Carry Flag Флаг переноса Состояние  
    Зарезервирован    
  PF Parity Flag Флаг чётности Состояние  
    Зарезервирован    
  AF Auxiliary Carry Flag Вспомогательный флаг переноса Состояние  
    Зарезервирован    
  ZF Zero Flag Флаг нуля Состояние  
  SF Sign Flag Флаг знака Состояние  
  TF Trap Flag Флаг трассировки (пошаговое выполнение) Системный  
  IF Interrupt Enable Flag Флаг разрешения прерываний Системный  
  DF Direction Flag Флаг направления Управляющий  
  OF Overflow Flag Флаг переполнения Состояние  
  IOPL I/O Privilege Level Уровень приоритета ввода-вывода Системный 80286
 
  NT Nested Task Флаг вложенности задач Системный  
    Зарезервирован    
EFLAGS
  RF Resume Flag Флаг возобновления Системный 80386
  VM Virtual-8086 Mode Режим виртуального процессора 8086 Системный  
  AC Alignment Check Проверка выравнивания Системный 80486 SX
  VIF Virtual Interrupt Flag Виртуальный флаг разрешения прерывания Системный Pentium
  VIP Virtual Interrupt Pending Ожидающее виртуальное прерывание Системный Pentium
  ID ID Flag Проверка на доступность инструкции CPUID Системный Поздние 80486 [2]
    Зарезервированы    
 
RFLAGS
    Зарезервированы    
 

Значение некоторых флагов в регистре флагов можно изменять напрямую, с помощью специальных инструкций (например, CLD для сброса флага направления), но нет инструкций, которые позволяют обратиться (проверить или изменить) к регистру флагов как к обычному регистру. Однако, можно сохранять регистр флагов в стек или регистр (E)AX и восстанавливать регистр флагов из них с помощью инструкций LAHF, SAHF, PUSHF, PUSHFD, POPFи POPFD.

При приостановке задачи (используя многозадачные возможности процессора), процессор автоматически сохраняет значение флага регистров в TSS (task state segment), при активизации новой задачи процессор загружает регистр флагов из TSS новой задачи.

Когда активизируется обработчик прерывания или обработчик исключительной ситуации, процессор автоматически сохраняет значение флага регистров в текущем стеке.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.