Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.08.2013, 10:43   #1
FataLL
Форумчанин
 
Аватар для FataLL
 
Регистрация: 29.01.2013
Сообщений: 319
Вопрос Есть кто из прошлого? Нюансы DR-DOS...

Есть динозавры? :-)

Имеется некий контроллер, работающий на означенном чуде. Есть необходимость выполнить "тёплую" перезагрузку при некоторых условиях. Повтыкав в старые маны по MS-DOS, нашёл, что для этого по 040h:072h заносится 1234h и выполняется переход на 0FFFFh:0h (если занести 0, то будет "холодная" перезагрузка). Опыт показывает, что DR-DOS сей финт игнорит, постоянно стартуя "холодно".

Есть спецы, знакомые с прошлым? Был бы премного благодарен за подсказку.
FataLL вне форума Ответить с цитированием
Старый 06.08.2013, 11:22   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

О! Круть! Действительно, антиквариат!

я Вам ничем не помогу, но могу посоветовать найти "interrupt list" (c) Ральф Браун
возможно, что-то полезное почерпнёте оттуда. (а может быть, и нет.. гарантировать положительный результат я не берусь...)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 06.08.2013, 12:01   #3
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,330
По умолчанию

Цитата:
Сообщение от FataLL Посмотреть сообщение
Повтыкав в старые маны по MS-DOS, нашёл, что для этого по 040h:072h заносится 1234h и выполняется переход на 0FFFFh:0h (если занести 0, то будет "холодная" перезагрузка).
Подозреваю, что это фича BIOS а не DR/MS DOS.
Попробуйте то же самое с MS-DOS, я почти уверен, что результат будет тем же.

FFFF:0 - это адрес который грузится в CS:IP при reset процессора. А там обычно far jmp на процедуру загрузки.
waleri вне форума Ответить с цитированием
Старый 06.08.2013, 13:51   #4
FataLL
Форумчанин
 
Аватар для FataLL
 
Регистрация: 29.01.2013
Сообщений: 319
По умолчанию

waleri
Совершенно верно! Что-то я прогнал. Конечно, DOS тут не при чём. Получается, что это какая-то особенность BIOS, а именно AMI BIOS.

Вообще, у BIOS есть прерывание 19h для загрузки ОС. Во всех примерах, которые я надыбал, оно вызывается без параметров. По идее, так можно было бы и перезагрузиться, но у меня выползает сообщение "Укажите букву загрузочного диска энд пресс эни ки". Кругом сплошная подстава... :-(
FataLL вне форума Ответить с цитированием
Старый 06.08.2013, 21:25   #5
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,774
По умолчанию

В порядке общего бреда могу вспомнить, что там вроде было два прерывания -- для перезагрузки и для загрузки "кассетного Бейсика". Возможно, "кассетный Бейсик" как-то был переосмыслен в AMI.
Vapaamies вне форума Ответить с цитированием
Старый 06.08.2013, 22:04   #6
Tronix
Форумчанин
 
Аватар для Tronix
 
Регистрация: 15.06.2010
Сообщений: 740
По умолчанию

А просто по CTRL+ALT+DEL он (комп) холодно перезагружается? Если да, намек я думаю понятен....
Чтобы понять рекурсию, сперва нужно понять рекурсию.
Tronix вне форума Ответить с цитированием
Старый 07.08.2013, 09:48   #7
FataLL
Форумчанин
 
Аватар для FataLL
 
Регистрация: 29.01.2013
Сообщений: 319
По умолчанию

Vapaamies
Бейсик - int 18h. Только на "родных" IBM, на "совместимых" действие непредсказуемо. Причём, вызывается только после того, как int 19h не нашло ни одного загрузочного диска. (Благодаря совету Serge_Bliznykov проштудировал прерывания Брауна, стал малость просветлённее :-) ) У меня же, после того, как (почему-то) не найдено ни одного диска, int 19h просит указать букву загрузочного диска. Может, весь фикус в том, что "диск" - это флэш-диск? Только вот какая ему нафих разница?

Tronix
Там нет клавиатуры. И мыши нет. Это контроллер. Платка на два спичечных коробка, проц, память, флэш-диск. Видеоадаптер отдельной платой и только для отладки. Всё.
FataLL вне форума Ответить с цитированием
Старый 31.08.2013, 01:47   #8
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Ну считайте руками бутсектор в память и передайте на него управление.
Black Fregat вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Есть ли какие то статьи про графику в 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