|
|
|
защищённый режим в досе
|
|||
|---|---|---|---|
|
#18+
АЙ!!! ПОМОГОИТЕ :(( Не могу понять что не так.... Дело в том, что при попытке перейти в защищённый режим в досе (а точнее при попытке изменить значение регистра cr0 (включить нулевой бит) ) комп просто перегружается... Вроде вполне нормальные действия :( Код: plaintext 1. 2. 3. 4. 5. вырубает на строке mov cr0, eax Что может быть не так? В литературе, которую я читал, про это ничего не говориться... ПОМОГИТЕ ПОЖАЛУЙСТА :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2008, 15:07 |
|
||
|
защищённый режим в досе
|
|||
|---|---|---|---|
|
#18+
Програмёрв досеВ DOS-е ли? или в DOS-сессии в Windows? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2008, 15:30 |
|
||
|
защищённый режим в досе
|
|||
|---|---|---|---|
|
#18+
какую-то странную литературу Вы читали.. защищённый режим не в DOS'е а в микропроцессоре :) и при работе в защищённом режиме микропроцессор использует определённые структуры данных, которые должны быть созданы и правильно настроены + сам микропроцессор должен быть настроен на использование этих структур. -- „Истина — это вовсе не то, что можно убедительно доказать, это то, что делает всё проще и понятнее“ — Антуан де Сент-Экзюпери ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2008, 15:31 |
|
||
|
защищённый режим в досе
|
|||
|---|---|---|---|
|
#18+
Это чистый дос (с загрузочного диска гружу). а струтуры вроде создал... Там таблицы все создал, если надо, могу выложить полный код :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2008, 18:44 |
|
||
|
защищённый режим в досе
|
|||
|---|---|---|---|
|
#18+
Ёшзащищённый режим не в DOS'е а в микропроцессоре )) Ну это уже немного смешно. :) Я хоть и новичёк, но не дурак всё-таки :) Я имел ввиду, что делаю я это всё из под доса... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2008, 20:30 |
|
||
|
защищённый режим в досе
|
|||
|---|---|---|---|
|
#18+
Привет, Програмёр! Ты пишешь: ПрограмёрП> Это чистый дос (с загрузочного диска гружу). П> а струтуры вроде создал... Там таблицы все создал, П> если надо, могу выложить полный код :)разгребать таблицы дескрипторов никто не будет. забудь. -- With best regards, Мимопроходящий. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2008, 20:38 |
|
||
|
защищённый режим в досе
|
|||
|---|---|---|---|
|
#18+
ПрограмёрАЙ!!! ПОМОГОИТЕ :(( Не могу понять что не так.... Дело в том, что при попытке перейти в защищённый режим в досе (а точнее при попытке изменить значение регистра cr0 (включить нулевой бит) ) комп просто перегружается... Вроде вполне нормальные действия :( Код: plaintext 1. 2. 3. 4. 5. вырубает на строке mov cr0, eax Что может быть не так? В литературе, которую я читал, про это ничего не говориться... ПОМОГИТЕ ПОЖАЛУЙСТА :) Найдите готовый пример. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2008, 20:53 |
|
||
|
защищённый режим в досе
|
|||
|---|---|---|---|
|
#18+
LelikkНайдите готовый пример. А это идея :)... Я чёто сам об этом не подумал :) (просто у меня вдруг появилась мысль, что возможно у меня всё правильно написано, просто я чего-то мог не дописать...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2008, 22:33 |
|
||
|
защищённый режим в досе
|
|||
|---|---|---|---|
|
#18+
Програмёр пишет: > Это чистый дос (с загрузочного диска гружу). Даже чистый DOS может работать в защищенном режиме под каким-нибудь QEMM. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2008, 01:56 |
|
||
|
защищённый режим в досе
|
|||
|---|---|---|---|
|
#18+
MasterZiv Програмёр пишет: > Это чистый дос (с загрузочного диска гружу). Даже чистый DOS может работать в защищенном режиме под каким-нибудь QEMM. Posted via ActualForum NNTP Server 1.4 )) мой работает в реальном (флаг PE (вроде так он зовётся, тот что за P/R режимы отвечает) в cr0 выключен). А я скачал исходник с другого сайта - он нормально работает )) Кстати, я решил поекспериментировать в таблицах дескрипторов и выставил всем сегментам тип DATA (установил 0 для 3-го бита 6-го байта), так вот после этого всё заработало нормально... Наверное я что-то не так как надо делаю, когда стараюсь работать с кодовыми сегментами :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2008, 05:26 |
|
||
|
защищённый режим в досе
|
|||
|---|---|---|---|
|
#18+
)) ура!!! Наконец-то разобрался ))) У меня просто была создана процедура CLEAR_PE (выключить флаг PE). Так вот, когда я её убрал (вернее заменил её вызов на её код) - всё заработало как надо :). Как я понял, то проблема в том, что при выключении данного влага меняется метод адресации, и потому в стэке сохранён адрес возврата действительный для защищённого режима, и команда ret в конце процедуры старается достать из стэка и перейти по этому адресу, но в реальном режиме он совсем неправильный получается И ещё вопрос (немного смешной, но просто страшно експерименты ставить, а то ещё спалю чёто в компе ): Можно ли в защищённом режиме использовать команды call и ret так же как и в реальном, или же есть какие-то специальные команды для записи/считования адресов возврата в этом режиме? Заранее благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2008, 23:30 |
|
||
|
защищённый режим в досе
|
|||
|---|---|---|---|
|
#18+
Програмёр)) ура!!! Наконец-то разобрался ))) У меня просто была создана процедура CLEAR_PE (выключить флаг PE). Так вот, когда я её убрал (вернее заменил её вызов на её код) - всё заработало как надо :). Как я понял, то проблема в том, что при выключении данного влага меняется метод адресации, и потому в стэке сохранён адрес возврата действительный для защищённого режима, и команда ret в конце процедуры старается достать из стэка и перейти по этому адресу, но в реальном режиме он совсем неправильный получается И ещё вопрос (немного смешной, но просто страшно експерименты ставить, а то ещё спалю чёто в компе ): Можно ли в защищённом режиме использовать команды call и ret так же как и в реальном, или же есть какие-то специальные команды для записи/считования адресов возврата в этом режиме? Заранее благодарен. теже самые. И еще: после смены режима делайте jmp (хоть на след. команду), только учтите разрядности сегментов - вроде бы это Intel рекомендует это для очистки очереди команд процессора. Подробнее было у Зубкова написано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2008, 23:44 |
|
||
|
защищённый режим в досе
|
|||
|---|---|---|---|
|
#18+
Спасибо!!! )) Теперь по-моему всё прояснилось с адресами в защищённом режиме :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2008, 00:29 |
|
||
|
защищённый режим в досе
|
|||
|---|---|---|---|
|
#18+
Програмёр пишет: > Можно ли в защищённом режиме использовать команды call и ret так же как > и в реальном, или же есть какие-то специальные команды для > записи/считования адресов возврата в этом режиме? > Конечно же можно. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2008, 02:00 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=35319688&tid=1345288]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
150ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 215ms |
| total: | 448ms |

| 0 / 0 |
