Аппаратное обеспечение персонального компьютера

       

Регистры указателя команды и указателя операнда


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

В сопроцессоре 8087 указатель команды содержит 20-разрядный адрес команды, вызвавшей особый случай и код выполняемой в этот момент операции. Адрес команды здесь указывается без учета предшествующих команде префиксов (рис. 10.11).

Регистры указателя команды и указателя операнда

Рис. 10.11. Указание адреса команды в сопроцессоре 8087

Сопроцессоры 80287/80387 в реальном режиме работы имеют такой же формат регистра указателя команд, однако этот указатель показывает на первый префикс команды, вызвавшей особый случай.

Защищенный режим работы центрального процессора и сопроцессора описан в 6 томе «Библиотеки системного программиста». Для полноты изложения приведем формат указателей и для этого режима.

В защищенном режиме адрес состоит из селектора и смещения. Формат указателя команды для защищенного режима представлен на рисунке 10.12.

Регистры указателя команды и указателя операнда

Рис. 10.12. Формат указателя команды для защищенного режима

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

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

Формат указателя операнда для реального режима представлен на рис. 10.13.

Регистры указателя команды и указателя операнда

Рис. 10.13. Формат указателя операнда для реального режима

Формат указателя операнда для защищенного режима мы показали на рис. 10.14.

Регистры указателя команды и указателя операнда

Рис. 10.14. Формат указателя операнда для защищенного режима



Содержание раздела