| 
| 
 | Вопрос # 4 677/ вопрос открыт / | 
 |  Приветствую, уважаемые эксперты!Моя проблема заключается втом что я под Delphi пытаюсь перейти из третьего кольца в защищенном режиме в реальный режим. Все примеры перехода из PM в real mode относятся к случаю нулевого кольца с максимальным уровнем привилегий и как следствие отсутствием проблем с наличием привилегированных команд.
 Смотрел книги "Ассемблер для DOS Windows и UNIX" Зубков, "Защищенный режим процессоров Intel" Фролов.
 
 Сразу отвечу на вопрос зачем это, мне нужно обращаться к прерываниям DOS и BIOS, а это возможно только в real mode(если ничего не путаю).
 
 Возможно кто то пытался уже делать что либо подобное, плиз подскажите что можно почитать по этому вопросу(книги или в сети).
 
|  |   Вопрос задал: 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 (статус: Посетитель), 24 октября 2010, 14:31 [#2]:Спасибо, ясно. |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |