> Ну да ладно — раз трудно ответить, скачаю!!!
>
Скачал, прочитал, написано:
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