русс | укр

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

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

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

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


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

LGS/LSS/LDS/LES/LFS - Загрузка полного указателя


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


-----------------------------------------------------------------|Код Команда Число Описание ||операции тактовых || циклов ||C5 /r LDS r16,m16:16 6/12 Загрузка в DS:r16 указателя || памяти ||C5 /r LDS r32,m16:32 6/12 Загрузка в DS:r32 указателя || памяти ||0F B2 /r LSS r16,m16:16 6/12 Загрузка в SS:r16 указателя || памяти ||0F B2 /r LSS r32,m16:32 6/12 Загрузка в SS:r32 указателя || памяти ||C4 /r LES r16,m16:16 6/12 Загрузка в ES:r16 указателя || памяти ||C4 /r LES r32,m16:32 6/12 Загрузка в ES:r32 указателя || памяти ||0F B4 /r LFS r16,m16:16 6/12 Загрузка в FS:r16 указателя || памяти ||0F B4 /r LFS r32,m16:32 6/12 Загрузка в FS:r32 указателя || памяти ||0F B5 /r LGS r16,m16:16 6/12 Загрузка в GS:r16 указателя || памяти ||0F B5 /r LGS r32,m16:32 6/12 Загрузка в GS:r32 указателя || памяти |----------------------------------------------------------------- Работа команды CASE команда OF LSS: Sreg это SS; (* Загрузить регистр SS *) LDS: Sreg это DS; (* Загрузить регистр SD *) LES: Sreg это ES; (* Загрузить регистр ES *) LFS: Sreg это FS; (* Загрузить регистр FS *) LGS: Sreg это GS; (* Загрузить регистр GS *)ESAC;IF (OperandSize = 16)THEN r16 <- [Исполнительный адрес]; (* 16-разрядная пересылка *) Sreg <- [Исполнительный адрес + 2]; (* 16-разрядная пересыдка *) (* В защищенном режиме это загрузка дескриптора в сегментный регистр *)ELSE (* OperandSize = 32 *) r32 <- [Исполнительный адрес]; (* 32-разрядная пересылка *) Sreg <- [Исполнительный адрес + 4]; (* 16-разрядная пересыдка *) (* В защищенном режиме это загрузка дескриптора в сегментный регистр *)FI; ОписаниеКоманды LGS, LSS, LDS, LES и LFS читают из памяти полный указатель изаписывают его в выбранную пару сегментный регистр:регистр. Полныйуказатель загружает 16 битов в сегментный регистр SS, DS, ES, FS или GS.Другой регистр загружает 32 бита, если атрибут размера операнда равен 32бита, или 16 битов, если этот атрибут равен 16. Этот загружаемый 16- или32-разрядный регистр определяется заданным операндом r16 или r32.Когда одному из сегментных регистров сделано назначение, в сегментныйрегистр также загружается дескриптор. Данные для этого регистра берутся изэлемента дескрипторной таблицы, соответствующего выбранному селектору.В регистры DS, ES, FS или GS может быть загружен пустой селектор (значения0000 - 0003), не вызывая исключения защиты. (Любые последующие ссылки насегмент, соответствующий сегментный регистр которого загружен пустымселектором, для адресации памяти вызовут особую ситуацию #GP(0). Ссылка кпамяти для такого сегмента фактически не происходит). Ниже приводится листинг проверок и действий в защищенном режиме,выполняемых при загрузке сегментного регистра: IF загружается SS: IF селектор пустой THEN #GP(0); FI; Индекс селектора должен быть в границах его дескрипторной таблицы ELSE #GP(селектор); RPL селектора должен быть равен CPL ELSE #GP(селектор); Байт AR должен обозначать сегмент данных, доступный для записи ELSE #GP(селектор); DPL в байте AR должен быть равен CPL ELSE #GP(селектор); Сегмент должен быть помечен как Присутствующий ELSE #SS(селектор); Загрузка SS селектором; Загрузка SS дескриптором; IF DS, ES, FS или GS загружен не-пустым селектором: Индекс селектора должен быть в границах его дескрипторной таблицы ELSE #GP(селектор); Байт AR должен обозначать сегмент данных или кода, доступный для чтения ELSE #GP(селектор); IF сегмент данных или не-конформный кодовый сегмент THEN и RPL, и CPL должны быть меньше или равны DPL байта AR; ELSE #GP(селектор); Сегмент должен быть помечен как Присутствующий ELSE #NP(селектор); Загрузка сегментного регистра селектором и битами RPL; Загрузка сегментного регистра дескриптором;IF DS, ES, FS или GS загружен пустым селектором: Загрузка сегментного регистра селектором; Очистка бита Достоверности в дескрипторе; Изменяемые флагиОтсутствуют Исключения защищенного режима#GP(0) в случае недопустимого исполнительного адреса операнда памяти всегментах CS, DS, ES, FS или GS; #SS(0) в случае недопустимого адреса всегменте SS; второй операнд должен быть операндом памяти, а не регистром;#GP(0) при загрузке в SS пустого селектора; #PF(код сбоя) в случаестраничного сбоя; #AC для невыравненной ссылки к памяти при текущем уровнепривилегированности, равном 3. Исключения режима реальных адресовВторой операнд должен быть операндом памяти, а не регистром; Прерывание13, если какая-либо часть операнда лежит вне пространства исполнительныхадресов от 0 до 0FFFFH. Примечание: Эти команды допустимы в режиме реальных адресов, чтобыпозволить инициализацию при включении питания для защищенного режима. Исключения виртуального режима 8086Те же исключения, что и для режима реальных адресов: #PF (код сбоя) длястраничных сбоев; #AC для невыравненной ссылки к памяти при текущем уровнепривилегированности, равном 3.


<== предыдущая лекция | следующая лекция ==>
LGDT/LIDT - Загрузка регистра таблицы дескрипторов глобальной/прерываний | LLDT - Загрузка локальной таблицы дескрипторов


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


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

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

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


 


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

 
 

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

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