Найдите в интернете информацию о регистрах процессора Intel. Какие регистры являются наиболее важными?
Ответы
Ответ:
Регистр флагов называется EFLAGS и состоит из 32-бит (из них младшие 16 называются FLAGS, в реальном режиме используется именно FLAGS).
Рассмотрим подробнее его биты, исключая те, которые на данный момент зарезервированы и процессором не используются.
бит 0: флаг переноса, CF (Carry Flag). Указывает на то, что при вычислении арифметической операции произошёл перенос в несуществующий старший разряд или заём из него.
бит 2: флаг четности, PF (Parity Flag). Указывает на то, что количество установленных бит в результате чётно.
бит 4: флаг полупереноса или вспомогательного переноса, AF (Additional Flag). Тоже что и CF, но для тетрад, т.е. перенос/заём из 3 бита в 4.
бит 6: флаг нуля, ZF (Zero Flag). Указывает на то, что результат предыдущей команды содержит одни нули.
бит 8: флаг трассировки, TF (Trace Flag). При установке этого флага, после выполнения каждой инструкции вызывается прерывание INT 1.
бит 9: флаг разрешения прерываний, IF (Interrupt Flag). При сбросе в ноль блокируются маскируемые аппаратные прерывания.
бит 10: флаг направления, DF (Direction Flag). Определяет направление изменения адреса в строковых командах. 0 – увеличение, 1 – уменьшение адресов (оба состояния как для источника так и для приёмника).
бит 11: флаг переполнения, OF (Overflow Flag). Указывает на численное переполнение результата арифметической операции.
биты 13 – 12: уровень привилегий ввода-вывода, IOPL (Input/Output Privileges Level). Определяет минимальный уровень привилегий с которого доступно выполнение команд работы с пространством ввода/вывода.
бит 14: флаг вложенной задачи, NT (Nested Task). Указывает на то, что после выхода из текущей задачи следует вернуться в ту, которая её вызвала.
бит 16: флаг продолжения задачи, RF (Resume Flag). Временно запрещает отладку. Устанавливается автоматически командой IRETD обработчика отладочного прерывания.
бит 17: флаг режима V86, VM (Virtual Mode). Указывает на активность режима эмуляции 8086.
бит 18: флаг контроля за выравниванием, АС (Align Control). Указывает на то, что при обращению пользовательской программы к не выровненным данным следует сгенерировать прерывание.
бит 19: флаг виртуального прерывания, VIF (Virtual Interrupt Flag). Виртуальный флаг IF.
бит 20: флаг ожидания виртуального прерывания, VIP (Virtual Interrupt Pending). Указывает на наличие необработанного аппаратного прерывания.
бит 21: флаг идентификации, ID (Identify). Если программа может изменить состояние этого флага, значит поддерживается инструкция CPUID.
Для части этих битов существуют пары команд установки сброса (например, STI/CLI, STD/CLD).
Другая часть может быть проверена с помощью команд условного перехода (или совмещённых команд проверки-пересылки).
Все оставшиеся можно изменить, сохранив регистр флагов в стек (PUSHF), изменив его там, и загрузив обратно (POPF). При этом зарезервированные регистры трогать не следует, а либо устанавливать в ноль при первой загрузке, либо оставлять прежнее значение.
Объяснение:
Пожалуста вот