| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Asm: Общие вопросы > Защищенный режим, совсем простые вопросы |
| Автор: lesha_od 8.1.2007, 20:36 |
| Привет! Завтра к/р по защищенному режиму, нужно несколько задач проработать. Не могу найти нигде, как решить. 1. Записать содержимое регистра GDTR, если размер GDT 25 байт, а базовый адрес 35A00h. 2. Записать дескриптор для сегмента стека в защищенном режиме, начинающегося по адресу 47000h и имеющего размер 127 б 3. Что будет записано в регистр ES в защищенном режиме, если дескриптор дополнительного сегнмента находится в GDT под номером 1? Почему? Спасибо за помощь. Буду благодарен за ссылки на статьи по этому делу, или книжки, где это объясняется... нигде не нашел пока. |
| Автор: MAKCim 8.1.2007, 20:49 | ||||||||
странно, как может быть GDT быть 25 байт Добавлено @ 21:00
|
| Автор: lesha_od 8.1.2007, 21:02 |
| MAKCim, спасибо, может быть ошибочно переписал... он ведь должен быть кратен 8 ? А без ассемблера, то есть вручную, это можно записать? Или это задание решается только через асм? |
| Автор: MAKCim 8.1.2007, 21:04 | ||
может быть под номером 0? если под 0, то запишется нулевой селектор, который показывает, что данный селектор не используется (если его использовать, получим #GP) |
| Автор: lesha_od 8.1.2007, 21:05 |
| MAKCim, по поводу 2-го задания: то есть 1 параметр - размер, дальше по очереди 4-70-00 в обратном порядке, а дальше все время одни и те же числа? что они значат? |
| Автор: MAKCim 8.1.2007, 21:06 | ||
Что значит вручную? ну берем переменную 6 байт в младшее слово пишем размер GDT - 1, в старшее двойное слово - линейный базовый адрес и загружаем это дело через lgdt |
| Автор: lesha_od 8.1.2007, 21:08 | ||
Вроде как "1". Где об этом можно подробнее почитать? Я скачал гору разных книжек по Ассемблеру, и то ли не там смотрю, то ли там это слишком закручено описывается... |
| Автор: MAKCim 8.1.2007, 21:10 | ||||
ты бы про формат дескриптора прочитал для начала 0-1 байт - лимит сегмента 2-3 байт - младшее слово базы сегмента 4 байт - 2 байт базы сегмента 5 байт наиболее важные биты: 7 бит - бит присутствия 6-5 бит - DPL 4 бит - 1 (не системный) 6 байт - бит гранулярности и пр. 7 байт - старший байт базы сегмента Добавлено @ 21:12
если знаешь английский то вот http://www.intel.com/products/processor/manuals/ |
| Автор: lesha_od 8.1.2007, 21:56 |
| Спасибо. Буду разбираться... |