![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 29.01.2013
Сообщений: 319
|
![]()
Есть динозавры? :-)
Имеется некий контроллер, работающий на означенном чуде. Есть необходимость выполнить "тёплую" перезагрузку при некоторых условиях. Повтыкав в старые маны по MS-DOS, нашёл, что для этого по 040h:072h заносится 1234h и выполняется переход на 0FFFFh:0h (если занести 0, то будет "холодная" перезагрузка). Опыт показывает, что DR-DOS сей финт игнорит, постоянно стартуя "холодно". Есть спецы, знакомые с прошлым? Был бы премного благодарен за подсказку. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
О! Круть! Действительно, антиквариат!
я Вам ничем не помогу, но могу посоветовать найти "interrupt list" (c) Ральф Браун возможно, что-то полезное почерпнёте оттуда. (а может быть, и нет.. ![]() |
![]() |
![]() |
![]() |
#3 | |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
![]() Цитата:
Попробуйте то же самое с MS-DOS, я почти уверен, что результат будет тем же. FFFF:0 - это адрес который грузится в CS:IP при reset процессора. А там обычно far jmp на процедуру загрузки. |
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 29.01.2013
Сообщений: 319
|
![]()
waleri
Совершенно верно! Что-то я прогнал. Конечно, DOS тут не при чём. Получается, что это какая-то особенность BIOS, а именно AMI BIOS. Вообще, у BIOS есть прерывание 19h для загрузки ОС. Во всех примерах, которые я надыбал, оно вызывается без параметров. По идее, так можно было бы и перезагрузиться, но у меня выползает сообщение "Укажите букву загрузочного диска энд пресс эни ки". Кругом сплошная подстава... :-( |
![]() |
![]() |
![]() |
#5 |
Ваш К. О.
Участник клуба
Регистрация: 26.12.2012
Сообщений: 1,799
|
![]()
В порядке общего бреда могу вспомнить, что там вроде было два прерывания -- для перезагрузки и для загрузки "кассетного Бейсика". Возможно, "кассетный Бейсик" как-то был переосмыслен в AMI.
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 15.06.2010
Сообщений: 740
|
![]()
А просто по CTRL+ALT+DEL он (комп) холодно перезагружается? Если да, намек я думаю понятен....
Чтобы понять рекурсию, сперва нужно понять рекурсию.
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 29.01.2013
Сообщений: 319
|
![]()
Vapaamies
Бейсик - int 18h. Только на "родных" IBM, на "совместимых" действие непредсказуемо. Причём, вызывается только после того, как int 19h не нашло ни одного загрузочного диска. (Благодаря совету Serge_Bliznykov проштудировал прерывания Брауна, стал малость просветлённее :-) ) У меня же, после того, как (почему-то) не найдено ни одного диска, int 19h просит указать букву загрузочного диска. Может, весь фикус в том, что "диск" - это флэш-диск? Только вот какая ему нафих разница? Tronix Там нет клавиатуры. И мыши нет. Это контроллер. Платка на два спичечных коробка, проц, память, флэш-диск. Видеоадаптер отдельной платой и только для отладки. Всё. |
![]() |
![]() |
![]() |
#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 |