3 / 8 / 1
Регистрация: 12.07.2009
Сообщений: 361
|
|
1 | |
Разработать таблицу LDT, содержащую дескрипторы сегментов с параметрами21.09.2012, 17:33. Показов 3571. Ответов 10
Метки нет (Все метки)
I. Разработать таблицу LDT, содержащую дескрипторы сегментов с параметрами, указанными в индивидуальном задании.
II. Разработать таблицу GDT, содержащую дескрипторы следующих сегментов: сегментов кода, стека, данных, которые имеют те же параметры, что и в реальном режиме; сегмента видеопамяти размером в один экран; сегмента таблицы LDT. Программное формирование и вывод на экран содержимого таблиц GDT и LDT. Примечание: а) Если в задании не указан базовый адрес сегмента, то в ка¬честве его базового адреса использовать базовый адрес сегмента в ре-альном режиме, равный содержимому соответствующего сегмента, умноженному на 16. б) Если в задании не указан уровень привилегий сегмента, то считать его равным 3. в) Для дескриптора таблицы LDT поля байта доступа имеют следующее значение: P=1; DPL=0; S=0; TYPE=2 индивидуальное задание Сегмент кода - объем 32 Кбайт с запретом чтения; сегмент стека - объем 30 Кбайт; сегмент данных - объем 16 Кбайт с защитой от записи; сегмент данных - объем 92 Мбайт, базовый адрес - 1 Мбайт. Подскажите пожалуйста какая программа(ассемблер) сможет скомпилировать данное сделанное задание(сверху которое я сделаю)? И отладчик к нему тоже.
0
|
21.09.2012, 17:33 | |
Ответы с готовыми решениями:
10
Разработать модуль подкачки с визуализацией процесса подкачки страниц или сегментов Разработать HTML страницу, содержащую меню с указателем Разработать структуру с именем ZNAK, содержащую поля Создать таблицу, содержащую сведения |
1779 / 757 / 153
Регистрация: 03.06.2009
Сообщений: 5,927
|
|
22.09.2012, 08:47 | 2 |
Ассемблер любой. В задании сказано сформировать таблицу, не сказано что нужно переходить в защищенный режим, следовательно отладчик не понадобится.
З.Ы. Дочитался, что нужно вывести на экран, тогда отладчик тоже любой. Можно использовать TASM/Turbo Debugger.
0
|
3 / 8 / 1
Регистрация: 12.07.2009
Сообщений: 361
|
|
22.09.2012, 08:58 [ТС] | 3 |
Мне в лекции сказано что надо обязательно переходить в защищенный режим тогда какая программа сможет скомпилировать?
0
|
1779 / 757 / 153
Регистрация: 03.06.2009
Сообщений: 5,927
|
|
22.09.2012, 09:06 | 4 |
Скомпилировать любой может, а вот с защищенным режимом в таком случае ни один отладчик не справится, все нужно представлять в голове и отлаживать на бумажке!
По слухам, можно отлаживать в виртуальной машине BOCHS.
2
|
3 / 8 / 1
Регистрация: 12.07.2009
Сообщений: 361
|
|
22.09.2012, 09:26 [ТС] | 5 |
В дескрипторе сегмента есть же биты R и W и их в защищенном режиме нужно задавать. Как это сделать без защищенного режима?
0
|
Клюг
7674 / 3189 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
|
|
22.09.2012, 11:09 | 6 |
Гуглите unreal mode.
А вообще-то задачка решаема через DPMI-host API. Убогий виндовый в том числе. DPMI 1.0 Programming API Specfication Примерчик, отлаживал под Debugх.
1
|
539 / 399 / 99
Регистрация: 18.08.2012
Сообщений: 1,024
|
|
23.09.2012, 15:40 | 7 |
Советую зайти на WASM.RU. Там есть статьи о защищенном режиме. Вариант с DPMI, скорее всего, не годится. Здесь речь идет о полностью самостоятельном переходе в РМ. Замечу, что перед созданием LDT надо создать GDT, в которой LDT будет описана с помощью системного дескриптора. Битов W, R как таковых нет. Эти свойства сегментов задаются в одном из байтов атрибутов дескриптора. Все таблицы с рассчитанными базовыми адресами и лимитами должны быть подготовлены еще до того кода, с которого начался данный пост.
Добавлено через 20 часов 30 минут Еще есть хорошая книга в четырех частях: Рудаков П.И.,Финогенов К.Г.Программируем на языке ассемблера IBM PC. Если, конечно, удастся найти
1
|
23.09.2012, 16:25 | 8 |
Нужно будет эту LDT еще применить (иначе зачем она делается).
Переходить в PM придется обязательно, и делать это придется например под DOS'ом на виртуальной машине. Советую книгу Аблязов Р.З. "Программирование на ассемблере на платформе х86_86". Не смотря на название в книге так же описан процесс перехода в PM. Так же имеются уже готовые исходники перехода в PM из real mode и пример работы с LDT. Там примеры правда на fasm'e, но это masm совместимый компилятор, так что с переводом проблем не будет.
1
|
391 / 179 / 2
Регистрация: 14.03.2012
Сообщений: 443
|
|
23.09.2012, 18:00 | 9 |
Можно кстати "Язык ассемблера: уроки программирования - Рудаков П.И" взять. В прикреплённой теме имеется.
0
|
202 / 168 / 11
Регистрация: 30.05.2012
Сообщений: 703
|
|
25.09.2012, 18:32 | 10 |
Правильно. Там целый цикл статей. Немного занудная теория до 7ой, а дальше рабочий исходник выхода в реальный режим. Одну из статей приведу. Правда там говорится о Global таблице, но с LDT то же сааааааааамое:
0
|
202 / 168 / 11
Регистрация: 30.05.2012
Сообщений: 703
|
|
25.09.2012, 18:32 | 11 |
Правильно. Там целый цикл статей. Немного занудная теория до 7ой, а дальше рабочий исходник выхода в реальный режим. Одну из статей приведу. Правда там говорится о Global таблице, но с LDT то же сааааааааамое:
0
|
25.09.2012, 18:32 | |
25.09.2012, 18:32 | |
Помогаю со студенческими работами здесь
11
Разработать программу содержащую 3 вида циклических управляющих структутр Разработать структуру записи содержащую информацию о сотрудниках предприятия Разработать программу, содержащую 2 функции для работы с текстовыми файлами Сформировать таблицу, содержащую длины опор крыши Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |