Регистры состояния и управления

Регистры состояния и управления – регистры, которые постоянно содержат информацию о состоянии микропроцессора или программы, команды которой в данный момент загружены на конвейер.

К этим регистрам относятся:

· регистр флагов EFLAGS/FLAGS ( рисунок Ошибка! Источник ссылки не найден.);

· регистр указателя команды EIP/IP.

Используя эти регистры, можно получать информацию о результатах выполнения команд и влиять на состояние самого микропроцессора.

Регистр EIP/IP называется указателем команд (Instruction Pointer register). Регистр EIP/IP имеет разрядность 32/16 бит и содержит смещение или адрес следующей подлежащей выполнению команды.Этот регистр непосредственно недоступен программисту, но загрузка и изменение его значения производятся различными командами управления, к которым относятся команды условных и безусловных переходов, вызова процедур и возврата из процедур. Возникновение прерываний также приводит к модификации регистра EIP/IP.

Регистр EFLAGS/FLAGS называется регистром флагов (flag register). Он предназначен длясигнализации процессору о его состоянии или о том, как выполнилась та или иная арифметическая или логическая команда. Разрядность регистра EFLAGS/FLAGS – 32/16 бит.

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

Флаг – это бит, принимающий значение 1, если он установлен, и 0, если он сброшен.

За битами регистра флагов закреплены соответствующие имена. Исходя из особенностей использования, флаги регистра EFLAGS/FLAGS можно разделить на следующие три группы:

· 8 флагов состояния.Эти флаги могут изменяться после выполнения машинных команд. Флаги состояния регистра EFLAGS отражают особенности результата исполнения арифметических или логических операций. Это дает возможность анализировать состояние вычислительного процесса и реагировать на него с помощью команд условных переходов и вызовов подпрограмм;

· 1 флаг управления. Обозначается как df (Directory Flag). Он находится в десятом бите регистра EFLAGS и используется цепочечными командами.

· 5 системных флагов, управляющих вводом/выводом, маскируемыми прерываниями, отладкой, переключением между задачами и виртуальным режимом 8086. Прикладным программам не рекомендуется модифицировать без необходимости эти флаги, так как в большинстве случаев это приведет к прерыванию работы программы.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: