Re[3]: GDT
От: Stanky  
Дата: 01.01.05 00:54
Оценка:
> Ну да ладно — раз трудно ответить, скачаю!!!
>
Скачал, прочитал, написано:
The first entry of the GDT is not used by the processor. A segment selector that points to this
entry of the GDT (that is, a segment selector with an index of 0 and the TI flag set to 0) is used
as a “null segment selector.” The processor does not generate an exception when a segment
register (other than the CS or SS registers) is loaded with a null selector. It does, however,
generate an exception when a segment register holding a null selector is used to access memory.
A null selector can be used to initialize unused segment registers. Loading the CS or SS register
with a null segment selector causes a general-protection exception (#GP) to be generated.

У фроловых написано примерно тоже самое, но мне непонятна практическая сторона сего действа!!!
Зачем нам вообще инициализировать неиспользуемые регистры? Если имеется ввиду, что это нужно при переходе из ядра в 3 кольцо, например обнулить FS и GS, то разве мы сами не можем это сделать, создав в таблице описание нулевого сегмента, если он нужен? Или он при загрузке такого селектора исключением срыгнёт? Да, я конечно умею читать: The processor does not generate an exception when a segment register (other than the CS or SS registers) is loaded with a null selector, но это читается не совсем однозначно!!!
Вобщем для чего было вводить такую вещь аппаратно?
Posted via RSDN NNTP Server 1.9
Не бойся выглядеть глупо, от этого ты выглядишь ещё глупей!!!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.