Господа пролейте свет по теме сегментных регистров и сегментных префиксов в плоской модели памяти. Интересует как r3 так и r0 как я понимаю в r0 там селектор, и трогать их нельзя в r3 использование префикса у меня вызвало исключение, но регистры модифицировать кажется можно. и еще вопрос - в х64 сегментные регистры упразнены?
assorted, вам дале конкретную ссылку, хотя на данный вопрос вполне можно ответеть просто JFGI&RTFM. тема отлично рассмотрена в стотьях на данном сайте http://www.wasm.ru/publist.php?list=24 и манах от интела. по теме, как в р0 так и в р3 там селектор... насщет использованийа префикса - мы не телепаты и хз, какой префикс вы использовале.
Хороше, немного переформулирую вопрос - что находится в сегментрых регистрах в р3? fs - TEB А остальные для чего используются?
assorted содержимое сегментных регистров это селектор. в любом уровне привилегий. какие же селекторы содержат они? В пользовательском режиме CS содержит селектор 32-битного неподчиненного сегмента кода с базой 0 и лимитом FFFFFFFF и уровнем привилегий 3 DS,ES,SS содержат селекторы растущего вниз (для стека) сегмента данных (одного) с базой 0 и лимитом FFFFFFFF и уровнем привилегий 3 FS содержит селектор сегмента данных с базой TEB и лимтом FFF (одна страница) GS = 0 В режиме ядра CS содержит селектор 32-битного неподчиненного сегмента кода с базой 0 и лимтом FFFFFFFF и уровнем привилегий 0 DS,ES,SS содержат селекторы сегмента данных (одного) с базой 0 и лимитом FFFFFFFF и уровнем привилегий 0 FS содержит селектор сегмента данных с базой текущего KPCR и лимитом 1FFF (2 страницы). GS = 0
Что-то есть у меня сильные сомнения что DS и ES содержат селектор растущего вниз сегмента... AFAIK такой тип сегментов в Win вообще не используется. [-= ADDED =-] Проверил в SIce: DS=ES=SS=23h, ни один из сегментов в GDT вниз не растёт, LDT у процесса (notepad.exe) нет (W2k SP4).