Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Лежат flat селекторы.
18.03.04 14:09 Число просмотров: 1625
Автор: amirul <Serge> Статус: The Elderman
|
[moved from beginners] > 1) Что сидит в CS, DS, SS, когда я в пользовательском > режиме во flat-модели? Лежат flat селекторы.
> 2) В программе на Delphi в отладчике наблюдаю CS <> > DS, DS = SS. Это так и надо? ;-) Они хоть и разные, но записи в GDT для них одинаковые: Base == 0; Limit == 0x7fffffff
> 3) Для чего нужны регистры ES, FS, GS. Вот в проге на > Delphi ES=DS, в FS вообще какая-то дрянь и юзается FS во ES - Extended data segment. Там тоже лежат данные. Например если пользоваться es:esi -> ds:edi строковыми операциями. Если сегменты не flat-овые, то такое поведение вполне разумно и позволяет перемещать из одного сегмента ДАННЫХ в другой.
> время инициалицации-финализации модулей. У них есть Ну а FS - самый приятный сегмент. В user-space он всегда указывает на текущий TEB (thread environment block), а в kernel-space - на текущий KPCR (kernel processor control region). Обе структуры описывают текущий поток для юзера и ядра соответсвенно. Если интересно - можно найти в сырцах их описания
Насчет GS не помню. Где-то встречал как его предполагают использовать в интеле. Но кажется это сегмент - просто затычка, если не хватает других сегментов
> транскрипция? Ну, к примеру, CS - Code Segment, а GS?
|
|
|