OSDev

для всех
Текущее время: 22 июл 2019, 13:44

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 13 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Сегментый описатель.
СообщениеДобавлено: 22 авг 2011, 17:21 
Аватара пользователя

Зарегистрирован: 14 мар 2011, 12:31
Сообщения: 959
Откуда: Дагоба
phantom-84 писал(а):
Но база сегмента ведь константа (ты сам сказал), так и объяви ее как константу.

Где это я сказал? Какая же это константа? Один сегмент начинается там, где кончается другой. База сегмента — такой же неопределённый адрес.

_________________
Yet Other Developer of Architecture.
The mistery of Yoda’s speech uncovered is:
Just an old Forth programmer Yoda was.

<<< OS Boot Tools. >>>


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сегментый описатель.
СообщениеДобавлено: 22 авг 2011, 18:50 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1204
Я имел в виду вот это:
Цитата:
...несмотря на то, что они статические.

Если ты еще на этапе написания исходника определился с тем, где (по какому адресу) должны находиться сегменты, то их базовые адреса можно определить, как константы. И неважно, что сегменты идут друг за другом. База следующего сегмента = база предыдущего сегмента + размер сегмента (как разница между его начальным адресом и его конечным адресом) + паддинг (выравнивание на корректную/нужную границу сегмента). Может, я конечно и неадекватно оцениваю возможности nasm'а, но по крайней мере пока я не вижу существенных препятствий для достижения обозначенной цели.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сегментый описатель.
СообщениеДобавлено: 23 авг 2011, 10:05 
Аватара пользователя

Зарегистрирован: 14 мар 2011, 12:31
Сообщения: 959
Откуда: Дагоба
Ну это, что назывется, через зопу автогеном :). Перебирать по очереди все сегменты, добавлять выравнивание, чтобы добраться до нужного адреса, теоретически можно, но проще и, самое главное, надёжней конвертировать GDT entry программно. А то потом после добавления очередного сегмента запарюсь искать, почему ядро перестало работать.

_________________
Yet Other Developer of Architecture.
The mistery of Yoda’s speech uncovered is:
Just an old Forth programmer Yoda was.

<<< OS Boot Tools. >>>


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 13 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB