Флажки РС
Процессором РС управляет набор однобитовых флажков, каждый из которых сигнализирует об определенном состоянии компьютера или задает это состояние. Флажки действуют независимо, но для удобства они собраны в регистр флажков FLAGS(EFLAGS). Отдельные флажки можно установить и сбросить специальными командами, а всю группу флажков можно считать или установить парой команд.
Во всех процессорах имеется 9 флажков, появившихся в процессоре I8086. В 32-битовом процессоре в EFLAGS имеется от 13 до 17 флажков.
Шесть флажков предназначены для регистрации особенностей результата арифметических и других операций:
· флажок нуля ZFпоказывает нулевой результат (или равенство при сравнении);
· флажок знака SFпоказывает отрицательный результат;
· флажок переноса CFфиксирует перенос в следующий разряд;
· флажок вспомогательного переноса AFпоказывает перенос из младших четырех битов;
· флажок переполнения OFсигнализирует о слишком большом результате;
· флажок паритета PFпоказывает нечетный или четный паритет результата.
Следующие три флажка предназначены для управления процессором:
· флажок направления DFуправляет тем, как выполняются повторяющиеся операции – справа налево или слева направо;
· флажок прерывания IFуправляет разрешением или запрещением прерываний;
· флажок ловушки или трассировки TFформирует специальное прерывание – «ловушку» после выполнения одной команды. Он обеспечивает покомандное выполнение программы, прослеживая результаты отдельных команд.
В процессореI80286 добавлены два флажка:
· флажок вложенной задачи NTприменяется для вложенных задач;
· флажок IOPL управляет уровнем привилегий ввода-вывода.
предыдущаяследующая