|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
06.08.2013, 10:43 | #1 |
Форумчанин
Регистрация: 29.01.2013
Сообщений: 319
|
Есть кто из прошлого? Нюансы DR-DOS...
Есть динозавры? :-)
Имеется некий контроллер, работающий на означенном чуде. Есть необходимость выполнить "тёплую" перезагрузку при некоторых условиях. Повтыкав в старые маны по MS-DOS, нашёл, что для этого по 040h:072h заносится 1234h и выполняется переход на 0FFFFh:0h (если занести 0, то будет "холодная" перезагрузка). Опыт показывает, что DR-DOS сей финт игнорит, постоянно стартуя "холодно". Есть спецы, знакомые с прошлым? Был бы премного благодарен за подсказку. |
06.08.2013, 11:22 | #2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
О! Круть! Действительно, антиквариат!
я Вам ничем не помогу, но могу посоветовать найти "interrupt list" (c) Ральф Браун возможно, что-то полезное почерпнёте оттуда. (а может быть, и нет.. гарантировать положительный результат я не берусь...) |
06.08.2013, 12:01 | #3 | |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
Цитата:
Попробуйте то же самое с MS-DOS, я почти уверен, что результат будет тем же. FFFF:0 - это адрес который грузится в CS:IP при reset процессора. А там обычно far jmp на процедуру загрузки. |
|
06.08.2013, 13:51 | #4 |
Форумчанин
Регистрация: 29.01.2013
Сообщений: 319
|
waleri
Совершенно верно! Что-то я прогнал. Конечно, DOS тут не при чём. Получается, что это какая-то особенность BIOS, а именно AMI BIOS. Вообще, у BIOS есть прерывание 19h для загрузки ОС. Во всех примерах, которые я надыбал, оно вызывается без параметров. По идее, так можно было бы и перезагрузиться, но у меня выползает сообщение "Укажите букву загрузочного диска энд пресс эни ки". Кругом сплошная подстава... :-( |
06.08.2013, 21:25 | #5 |
Просветитель
Участник клуба
Регистрация: 26.12.2012
Сообщений: 1,834
|
В порядке общего бреда могу вспомнить, что там вроде было два прерывания -- для перезагрузки и для загрузки "кассетного Бейсика". Возможно, "кассетный Бейсик" как-то был переосмыслен в AMI.
В разработке: воспроизводственный контур ИТ
|
06.08.2013, 22:04 | #6 |
Форумчанин
Регистрация: 15.06.2010
Сообщений: 740
|
А просто по CTRL+ALT+DEL он (комп) холодно перезагружается? Если да, намек я думаю понятен....
Чтобы понять рекурсию, сперва нужно понять рекурсию.
|
07.08.2013, 09:48 | #7 |
Форумчанин
Регистрация: 29.01.2013
Сообщений: 319
|
Vapaamies
Бейсик - int 18h. Только на "родных" IBM, на "совместимых" действие непредсказуемо. Причём, вызывается только после того, как int 19h не нашло ни одного загрузочного диска. (Благодаря совету Serge_Bliznykov проштудировал прерывания Брауна, стал малость просветлённее :-) ) У меня же, после того, как (почему-то) не найдено ни одного диска, int 19h просит указать букву загрузочного диска. Может, весь фикус в том, что "диск" - это флэш-диск? Только вот какая ему нафих разница? Tronix Там нет клавиатуры. И мыши нет. Это контроллер. Платка на два спичечных коробка, проц, память, флэш-диск. Видеоадаптер отдельной платой и только для отладки. Всё. |
31.08.2013, 01:47 | #8 |
Программист
Участник клуба
Регистрация: 23.06.2009
Сообщений: 1,772
|
Ну считайте руками бутсектор в память и передайте на него управление.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Есть ли какие то статьи про графику в DOS? | Opusel | Общие вопросы C/C++ | 14 | 16.01.2013 15:20 |
Есть кто-нибудь, кто работал с файлами excel на c#? | Bi0max | Microsoft Office Excel | 11 | 23.08.2012 13:07 |
BOrland c for dos Исправить ошибку! код есть! | Prosto23 | Помощь студентам | 0 | 01.06.2012 18:56 |
Borland C++ for Dos (и ничего другого) Есть исходник ..Нужна п.о.M.ощь | Prosto23 | Помощь студентам | 3 | 29.05.2012 19:31 |
Надо достать информацию из проги, есть умельцы? видимо DOS | Azhimix | Помощь студентам | 0 | 08.10.2010 22:57 |