русс | укр

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

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

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

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


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

VERR, VERW -Верификация доступности чтения или записи сегмента


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


-----------------------------------------------------------------|Код Команда Число Описание ||операции тактовых || циклов || ||0F 00 /4 VERR r/m16 11/11 Установка ZF=1, если сегмент || доступен для чтения, || селектор в r/m16 ||0F 00 /5 VERW r/m16 11/11 Установка ZF=1, если сегмент || доступен для записи, || селектор в r/m16 |----------------------------------------------------------------- Работа команды IF сегмент с селектором в (r/m) доступен для текущего уровня защиты AND ((сегмент доступен для чтения согласно VERR) OR (сегмент доступен для записи согласно VERW))THEN ZF <- 1;ELSE ZF <- 0;FI; ОписаниеДвух-байтовый регистр или операнд памяти команд VERR и VERW содержитзначение селектора. Команды VERR и VERW определяют доступность сегмента,указанного селектором, с текущего уровня привилегированности, а также,доступен ли он для чтения (VERR), или для записи (VERW). Если сегментдоступен, то устанавливается флаг ZF; если сегмент недоступен, то флаг ZFочищается. Для установки флага ZF должны удовлетворяться следующиеусловия: - Селектор должен обозначать дескриптор в пределах границ таблицы (GDT илиLDT): селектор должен быть "определен".- Селектор должен обозначать дескриптор сегмента кода или данных (а недескриптор сегмента состояния задачи, LDT или шлюза).- Для команды VERR сегмент должен быть доступен для чтения. Для командыVERW сегмент должен быть сементом данных, доступным для чтения.- Если кодовый сегмент доступен для чтения и является конформным, уровеньпривилегированности дескриптора (DPL) для команды VERR может иметь любоезначение. В противном случае DPL должен быть больше или равен (этосоответствует меньшей или равной привилегированности) как текущего уровняпривилегированности, так и RPL селектора. Выполняется такая же проверка достоверности, как если бы сегмент былзагружен в регистр DS, ES, FS или GS, и был выполнен указанный доступ(чтения или записи). Флаг ZF принимает результат проверки достоверности.Значение селектора не может давать в результате исключение защиты,позволяя программному обеспечению предупреждать возможные проблемы доступак сегменту. Изменяемые флагиФлаг ZF устанавливается, если сегмент доступен, и очищается в противномслучае. Исключения защищенного режимаСбои, генерируемые неверной адресацией операнда памяти, содержащегоселектор; селектор не загружается в какой-либо сегментный регистр, а сбои,относящиеся к операнду селектора, не генерируются.#GP(0) в случае недопустимого исполнительного адреса операнда памяти всегментах CS, DS, ES, FS или GS; #SS(0) в случае недопустимого адреса всегменте SS; #PF(код сбоя) в случае страничного сбоя; #AC дляневыравненной ссылки к памяти при текущем уровне привилегированности,равном 3. Исключения режима реальных адресовПрерывание 6; команды VERR и VERW в режиме реальных адресов нераспознаются. Исключения виртуального режима 8086Те же исключения, что и для режима реальных адресов: #AC для невыравненнойссылки к памяти при текущем уровне привилегированности, равном 3.


<== предыдущая лекция | следующая лекция ==>
TEST - Логическое сравнение | XADD - Обмен местами и сложение


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


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

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

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


 


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

 
 

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

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