Пасибы, теперь картина проясняется!!!
> На мой взляд, все достаточно просто — этот механизм позволяет "отлавливать" ошибочные действия в программе, например, с указателями в C/C++:
> — Запись NULL в переменную — это нормально (запись "null descriptor" в сегментые регистры, отличные от CS и SS, разрешен).
> — Выполнять действия по адресу NULL — это ошибка (запись "null descriptor" в сегментые регистры CS и SS генерирует исключение);
> — Запись и чтение по адресу NULL — это ошибка (обращение к памяти по сегментномуу регистру, содержащему "null descriptor", генерирует исключение);
>
А вот с этим я не согласен!!! В указателе селектор не присутствует, в нём есть только смещение в сегменте на который указывает селектор данных (DS, ES)!!!
Напиример в винде нашим программам выделяется сегмент данных размером 2ГБ (ну мне кажется так сделано), а селектор этого сегмента загружается в DS, ES и SS!!! Механизм отлавливания левых указателей реализуется другим путём!!!
> P.S. Я считаю, что лучше самому прочесть "первоисточники", чем их цитировать. Только поэтому я не стал приводить как раз именно эту
> фразу, которые Вы сами нашли.
>
Я не жалею, что скачал — вещь действительно великолепная!!!
Posted via RSDN NNTP Server 1.9