русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Указатели числовых команд и данных


Дата добавления: 2015-06-12; просмотров: 422; Нарушение авторских прав


Указатели команд и данных позволяют работать с программируемыми обработчиками исключений. Эти регистры доступны через ESC-команды FLDENV, FSTENV, FSAVE и FRSTOR. Всегда, когда процессор i486 раскодирует ESC-команду, он сохраняет адрес команды, адрес операнда (если есть) и код операции.

При сохранении в памяти, указатели команд и данных находятся в одном из четырех форматов, в зависимости от режима работы процессора (защищенный режим или режим абсолютной адресации) и в зависимости от атрибута размера операнда (32 или 16 битовый операнд). В режиме виртуального процессора 8086 используются форматы режима абсолютной адресации.

На всех иллюстрациях от Рисунка 15-5 до Рисунка 15-8 эти указатели показаны так, как они сохраняются после команды FSTENV.

+---------------------------------------------------------------+| ФОРМАТ 32-БИТНОГО ЗАЩИЩЕННОГО РЕЖИМА || || 31 23 15 7 0 || +-----------+-----------------------+-----------+ || | ЗАРЕЗЕРВИРОВАНО | УПРАВЛЯЮЩЕЕ СЛОВО | 0H || +-----------+-----------|-----------+-----------| || | ЗАРЕЗЕРВИРОВАНО | СЛОВО СОСТОЯНИЯ | 4H || +-----------+-----------|-----------+-----------| || | ЗАРЕЗЕРВИРОВАНО | СЛОВО ПРИЗНАКА | 8H || +-----------+-----------|-----------+-----------| || | СМЕЩЕНИЕ IP (указателя команд) | CH || +-----------+-----------|-----------+-----------| || | ЗАРЕЗЕРВИРОВАНО | СЕЛЕКТОР CS | 10H || +-----------+-----------|-----------+-----------| || | СМЕЩЕНИЕ ОПЕРАНДА ДАННЫХ | 14H || +-----------+-----------|-----------+-----------| || | ЗАРЕЗЕРВИРОВАНО | СЕЛЕКТОР ОПЕРАНДА | 18H || +-----------+-----------------------+-----------+ || |+---------------------------------------------------------------+Рисунок 15-5. Числовые Коианды Защищенного Режима и Отображение Указателя Данных в Памяти, 32-х битный формат +---------------------------------------------------------------+| || ФОРМАТ 32-БИТНОГО РЕЖИМА АБСОЛЮТНОЙ АДРЕСАЦИИ || || 31 23 15 7 0 || +-----------+-----------------------+-----------------+ || | ЗАРЕЗЕРВИРОВАНО | УПРАВЛЯЮЩЕЕ СЛОВО | 0H || +-----------+-----------|-----------+-----------------| || | ЗАРЕЗЕРВИРОВАНО | СЛОВО СОСТОЯНИЯ | 4H || +-----------+-----------|-----------+-----------------| || | ЗАРЕЗЕРВИРОВАНО | СЛОВО ПРИЗНАКА | 8H || +-----------+-----------|-----------+-----------------| || | ЗАРЕЗЕРВИРОВАНО | УКАЗАТЕЛЬ КОМАНДЫ 15..0 | CH || +-----------+-----------------------+-----------------| || |0000|УКАЗАТЕЛЬ КОМАНДЫ 31..16|0|КОД ОПЕРАЦИИ 10.0| 10H || +-----------+-----------|-----------+-----------------| || | ЗАРЕЗЕРВИРОВАНО | УКАЗАТЕЛЬ ОПЕРАНДА 15..0 | 14H || +-----------+-----------|-----------+-----------------| || |0000| УКАЗАТЕЛЬ ОПЕРАНДА 31..16 | 000000000000 | 18H || +-----------+-----------------------+-----------------+ || |+---------------------------------------------------------------+ Рисунок 15-6. Числовые Команды Режима Абсолютной Адресации и Отображение Указателя Данных в Памяти, 32-разрядный формат +---------------------------------------------------------------+| ФОРМАТ 16-БИТНОГО ЗАЩИЩЕННОГО РЕЖИМА || || 15 7 0 || +---------------+---------------+ || | УПРАВЛЯЮЩЕЕ СЛОВО | 0H || +---------------+---------------| || | СЛОВО СОСТОЯНИЯ | 2H || +---------------+---------------| || | СЛОВО ПРИЗНАКА | 4H || +---------------+---------------| || | СМЕЩЕНИЕ IP(указателя команды)| 6H || +---------------+---------------| || | СЕЛЕКТОР CS | 8H || +---------------+---------------| || | СМЕЩЕНИЕ ОПЕРАНДА | AH || +---------------+---------------| || | СЕЛЕКТОР ОПЕРАНДА | CH || +---------------+---------------+ || |+---------------------------------------------------------------+Рисунок 15-7. Числовые Команды Защищенного Режима и Отображение Указателя Данных в Памяти, 16-ти битовый формат

Команды FSTENV и FSAVE хранят эти данные в памяти, позволяя обработчикам исключений определять тид любого исключения, которое может встретиться. Адрес команды указывает на любые префиксы, которые предшествуют команде, как и в математических сопроцессорах 387 и 80287. Здесь есть отличие от сопроцессора 8087, для которого адрес команд указывает только на код ESC-команды.



+---------------------------------------------------------------+| || ФОРМАТ 16-БИТНОГО РЕЖИМА АБСОЛЮТНОЙ АДРЕСАЦИИ || И ФОРМАТ РЕЖИМА ВИРТУАЛЬНОГО ПРОЦЕССОРА 8086 || || 15 7 0 || +---------------+---------------+ || | УПРАВЛЯЮЩЕЕ СЛОВО | 0H || +---------------+---------------| || | СЛОВО СОСТОЯНИЯ | 2H || +---------------+---------------| || | СЛОВО ПРИЗНАКА | 4H || +---------------+---------------| || | УКАЗАТЕЛЬ КОМАНДЫ 15..0 | 6H || +---------------+---------------| || |УКАЗАТЕЛЬ | | | || | КОМАНД |0|КОД ОПЕРАЦИИ 10..0| 8H || | 19..16 | | | || +---------------+---------------| || | УКАЗАТЕЛЬ ОПЕРАНДА 15..0 | AH || +---------------+---------------| || |УКАЗАТЕЛЬ | | | || | ДАННЫХ |0| 00000000000 | CH || | 19..16 | | | || +---------------+---------------+ || || |+---------------------------------------------------------------+Рисунок 15-8. Числовые Командыи Режима Абсолютной Адресации и Отображение Указателя Данных в Памяти, 16-битовый формат

Обратите внимание, что команды управления процессором FINIT, FLDCW, FSTCW, FSTSW, FCLEX, FSTENV, FLDENV, FSAVE и FRSTOR не действуют на указатель данных. Обратите также внимание на то, что значение указателя данных неопределено, если предыдущая ESC- команда не имела операнда памяти. Единственное исключение составляют только что упомянутые команды.



<== предыдущая лекция | следующая лекция ==>
Слово тега устройства обработки операций с плавающей точкой | Система чисел


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.