Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 4 677

Раздел: Ассемблер
/ вопрос открыт /

Приветствую, уважаемые эксперты!
Моя проблема заключается втом что я под Delphi пытаюсь перейти из третьего кольца в защищенном режиме в реальный режим. Все примеры перехода из PM в real mode относятся к случаю нулевого кольца с максимальным уровнем привилегий и как следствие отсутствием проблем с наличием привилегированных команд.
Смотрел книги "Ассемблер для DOS Windows и UNIX" Зубков, "Защищенный режим процессоров Intel" Фролов.

Сразу отвечу на вопрос зачем это, мне нужно обращаться к прерываниям DOS и BIOS, а это возможно только в real mode(если ничего не путаю).

Возможно кто то пытался уже делать что либо подобное, плиз подскажите что можно почитать по этому вопросу(книги или в сети).

SOA Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: SOA (статус: Посетитель)
Вопрос отправлен: 24 октября 2010, 11:39
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 2; последнее сообщение — 24 октября 2010, 14:31; участников в обсуждении: 2.
Вадим К

Вадим К (статус: Академик), 24 октября 2010, 13:52 [#1]:

Законно - практически никак. Этого как раз и стараются избегать разработчики операционных систем. В целом, это как раз и не нужно делать.
Если все таки нужен защищенный режим - пишем драйвер и через него общаемся с железом. Это правильный путь. Но тут нужен C/C++.

Но тут есть ещё один момент, о котором многие забывают. Дело в том, что в XP и старше (то есть в Vista, Seven) DOS'а нет! И если какое то прикладное приложение захочет обратиться к нему, то 16битному приложению его сэмулируют (хотя говорят, что в 64битных Seven это уже не произойдет - приложение просто не запуститься, но я это не проверял). А вот 32битному приложению скорее всего откажут в прерываниях DOS, потому что они покрываются с лихвой API функциями.

С прерываниями BIOS дела обстоят не лучше. Операционная система имеет полное право подменять их своими. Да и возможности в BIOS на самом то деле ограничены - к примеру клавиатура не обязана запускаться со всеми мультимедийными клавишами, а только базовыми. А к примеру звуковая карта скорее всего без специальной инициализации вообще не запустится.


Подсумируя, скажем - желание на грани безумия, но осуществимое. Другое дело, что придется прочитать очень много литературы (в первую очередь Рихтера и Руссиновича). потом подучить C/C++, потом DDK (Driver Developer Kit). А вот Делфи тут скорее всего не помощник.
Галочка "подтверждения прочтения" - вселенское зло.
SOA

SOA (статус: Посетитель), 24 октября 2010, 14:31 [#2]:

Спасибо, ясно.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 1 апреля 2023, 23:16
Выполнено за 0.02 сек.
Рейтинг@Mail.ru