powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / защищённый режим в досе
14 сообщений из 14, страница 1 из 1
защищённый режим в досе
    #35317405
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АЙ!!! ПОМОГОИТЕ :((
Не могу понять что не так.... Дело в том, что при попытке перейти в защищённый режим в досе (а точнее при попытке изменить значение регистра cr0 (включить нулевой бит) ) комп просто перегружается... Вроде вполне нормальные действия :(

Код: plaintext
1.
2.
3.
4.
5.
set_PE proc
	mov eax, cr0
	or al,  1 
	mov cr0, eax
	ret
set_PE endp

вырубает на строке mov cr0, eax

Что может быть не так? В литературе, которую я читал, про это ничего не говориться...

ПОМОГИТЕ ПОЖАЛУЙСТА :)
...
Рейтинг: 0 / 0
защищённый режим в досе
    #35317494
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Програмёрв досеВ DOS-е ли? или в DOS-сессии в Windows?
...
Рейтинг: 0 / 0
защищённый режим в досе
    #35317498
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
какую-то странную литературу Вы читали..
защищённый режим не в DOS'е а в микропроцессоре :) и при работе в защищённом режиме микропроцессор использует определённые структуры данных, которые должны быть созданы и правильно настроены + сам микропроцессор должен быть настроен на использование этих структур.


--
„Истина — это вовсе не то, что можно убедительно доказать, это то, что
делает всё проще и понятнее“ — Антуан де Сент-Экзюпери
...
Рейтинг: 0 / 0
защищённый режим в досе
    #35318159
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это чистый дос (с загрузочного диска гружу).
а струтуры вроде создал... Там таблицы все создал, если надо, могу выложить полный код :)
...
Рейтинг: 0 / 0
защищённый режим в досе
    #35318285
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ёшзащищённый режим не в DOS'е а в микропроцессоре
)) Ну это уже немного смешно. :) Я хоть и новичёк, но не дурак всё-таки :)
Я имел ввиду, что делаю я это всё из под доса...
...
Рейтинг: 0 / 0
защищённый режим в досе
    #35318292
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет, Програмёр!
Ты пишешь:

ПрограмёрП> Это чистый дос (с загрузочного диска гружу).
П> а струтуры вроде создал... Там таблицы все создал,
П> если надо, могу выложить полный код :)разгребать таблицы дескрипторов никто не будет.
забудь.

--
With best regards, Мимопроходящий.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
защищённый режим в досе
    #35318306
Фотография Lelikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПрограмёрАЙ!!! ПОМОГОИТЕ :((
Не могу понять что не так.... Дело в том, что при попытке перейти в защищённый режим в досе (а точнее при попытке изменить значение регистра cr0 (включить нулевой бит) ) комп просто перегружается... Вроде вполне нормальные действия :(

Код: plaintext
1.
2.
3.
4.
5.
set_PE proc
	mov eax, cr0
	or al,  1 
	mov cr0, eax
	ret
set_PE endp

вырубает на строке mov cr0, eax

Что может быть не так? В литературе, которую я читал, про это ничего не говориться...

ПОМОГИТЕ ПОЖАЛУЙСТА :)

Найдите готовый пример.
...
Рейтинг: 0 / 0
защищённый режим в досе
    #35318386
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LelikkНайдите готовый пример.
А это идея :)... Я чёто сам об этом не подумал :) (просто у меня вдруг появилась мысль, что возможно у меня всё правильно написано, просто я чего-то мог не дописать...)
...
Рейтинг: 0 / 0
защищённый режим в досе
    #35318514
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Програмёр пишет:

> Это чистый дос (с загрузочного диска гружу).

Даже чистый DOS может работать в защищенном режиме под каким-нибудь QEMM.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
защищённый режим в досе
    #35318543
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
Програмёр пишет:

> Это чистый дос (с загрузочного диска гружу).

Даже чистый DOS может работать в защищенном режиме под каким-нибудь QEMM.
Posted via ActualForum NNTP Server 1.4
)) мой работает в реальном (флаг PE (вроде так он зовётся, тот что за P/R режимы отвечает) в cr0 выключен).
А я скачал исходник с другого сайта - он нормально работает )) Кстати, я решил поекспериментировать в таблицах дескрипторов и выставил всем сегментам тип DATA (установил 0 для 3-го бита 6-го байта), так вот после этого всё заработало нормально... Наверное я что-то не так как надо делаю, когда стараюсь работать с кодовыми сегментами :)
...
Рейтинг: 0 / 0
защищённый режим в досе
    #35319656
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
)) ура!!! Наконец-то разобрался ))) У меня просто была создана процедура CLEAR_PE (выключить флаг PE). Так вот, когда я её убрал (вернее заменил её вызов на её код) - всё заработало как надо :). Как я понял, то проблема в том, что при выключении данного влага меняется метод адресации, и потому в стэке сохранён адрес возврата действительный для защищённого режима, и команда ret в конце процедуры старается достать из стэка и перейти по этому адресу, но в реальном режиме он совсем неправильный получается

И ещё вопрос (немного смешной, но просто страшно експерименты ставить, а то ещё спалю чёто в компе ):
Можно ли в защищённом режиме использовать команды call и ret так же как и в реальном, или же есть какие-то специальные команды для записи/считования адресов возврата в этом режиме?
Заранее благодарен.
...
Рейтинг: 0 / 0
защищённый режим в досе
    #35319668
Фотография Lelikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Програмёр)) ура!!! Наконец-то разобрался ))) У меня просто была создана процедура CLEAR_PE (выключить флаг PE). Так вот, когда я её убрал (вернее заменил её вызов на её код) - всё заработало как надо :). Как я понял, то проблема в том, что при выключении данного влага меняется метод адресации, и потому в стэке сохранён адрес возврата действительный для защищённого режима, и команда ret в конце процедуры старается достать из стэка и перейти по этому адресу, но в реальном режиме он совсем неправильный получается

И ещё вопрос (немного смешной, но просто страшно експерименты ставить, а то ещё спалю чёто в компе ):
Можно ли в защищённом режиме использовать команды call и ret так же как и в реальном, или же есть какие-то специальные команды для записи/считования адресов возврата в этом режиме?
Заранее благодарен.

теже самые.
И еще: после смены режима делайте jmp (хоть на след. команду), только учтите разрядности сегментов - вроде бы это Intel рекомендует это для очистки очереди команд процессора.
Подробнее было у Зубкова написано.
...
Рейтинг: 0 / 0
защищённый режим в досе
    #35319688
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо!!! )) Теперь по-моему всё прояснилось с адресами в защищённом режиме :)
...
Рейтинг: 0 / 0
защищённый режим в досе
    #35319734
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Програмёр пишет:

> Можно ли в защищённом режиме использовать команды call и ret так же как
> и в реальном, или же есть какие-то специальные команды для
> записи/считования адресов возврата в этом режиме?
>

Конечно же можно.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / защищённый режим в досе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]