![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 06.12.2010
Сообщений: 8
|
![]()
Подскажите, пожалуйста, какими прерываниями можно "достать" содержимое BIOS для вывода на экран.
С резидентом разобрался, а вот с тем, что выводить и как добраться - не нашел. Нужно по заданию написать резидент, который по нажатию клавиш будет выводить на экран "содержимое BIOS в числовом и символьном виде". Сначала думал, что речь идет о биосовском прерывании 11h: устройства и проч. Но имеется ввиду участок памяти, содержащий BIOS. В числовом: байты, а в символьном - вывести символы из таблицы ASCII, соответствующие этим байтам. Заранее очень благодарен за подсказки. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
а зачем вам прерывания то?
БИОС же это часть памяти, просто обратитесь по нужному адресу и читайте(если что то адрес я не помню и под виндой такое не сработает) Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#3 | |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#4 |
Регистрация: 06.12.2010
Сообщений: 8
|
![]()
Mikl___, да-да, теперь сообразил.
Пепел Феникса, мне как раз под ДОС и нужно написать .com программу. А где можно найти и посмотреть диапазон адресов, где все это добро расположено? |
![]() |
![]() |
![]() |
#5 |
Регистрация: 06.12.2010
Сообщений: 8
|
![]()
Нашел информацию в интернете, что, мол, от F0000h до FFFFFh. Справедливо? Как раз разность будет 65 535. Это не поместится на один экран в DOSе.
Нам, чтобы вывести символы - надо считывать по два байта, получается? |
![]() |
![]() |
![]() |
#6 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
![]()
dmitradze
Мало того, в BIOS информация еще и запакована. F0000h до FFFFFh это пока Винду не загрузили, а потом она использует эти адреса под свои нужды и в режиме эмуляции там уже ничего не найдешь |
![]() |
![]() |
![]() |
#7 |
Регистрация: 06.12.2010
Сообщений: 8
|
![]()
Это, получается, отдельно надо ДОС ставить?
Дебаггер в досбоксе выдает что-то, там даже похоже на дату БИОСА: 03/12/09 и ерунду по этим адресам. Просто по заданию программа должна загрузиться в память и выводить содержимое по нажатию. Значит, по идее, все это уже после загрузки системы, надо доставать как-то ![]() Хотя не, выдает даже что-то похожее на SET BLASTER, версию ДОС-а и т.п. Только там ну очень много сведений получится среди "мусора" Последний раз редактировалось dmitradze; 07.12.2010 в 11:56. |
![]() |
![]() |
![]() |
#8 |
Регистрация: 06.12.2010
Сообщений: 8
|
![]()
Все, нашел!
В дебаггере если написать в f0000:0000 будет выдаваться информация БИОС-а. Версия, память, диски и все это добро. Надеюсь, это то, что надо. Логично предположить, что на разных компьютерах по-разному. У меня все эти сведения находятся с f000:06C0 до f000:0ec0 |
![]() |
![]() |
![]() |
#9 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
![]()
dmitradze
строка "SET BLASTER" вообще-то в AUTOEXEC.BAT, версию ДОС можно посмотреть в COMMAND.COM, а BIOS загружается до всяких COMMAND.COM и AUTOEXEC.BAT из ПЗУ на материнской плате, информация о дисках хранится в CMOS'e и тоже как-то к BIOS'y не относится. Какая-то у тебя каша в представлении о том, что находится в BIOS. Ищи в Интернете статьи Пинчакко об устройстве BIOS, да и книги этого автора есть в магазинах Последний раз редактировалось Mikl___; 07.12.2010 в 12:27. |
![]() |
![]() |
![]() |
#10 |
Регистрация: 06.12.2010
Сообщений: 8
|
![]()
Добрый день.
Скажите еще, пожалуйста, как можно вывести на экран 16-ричное число, которое находится по конкретному адресу (например, f000:06c0), а затем перевести его в ASCII-код? Как правильно по этому адресу обратиться? |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вывод содержимого BIOS (в символьном и числовом виде) | dmitradze | Помощь студентам | 0 | 06.12.2010 15:54 |
вывод содержимого | street-walker | Помощь студентам | 1 | 04.03.2010 21:03 |
Числа в символьном виде | SL1CK | Общие вопросы C/C++ | 8 | 20.10.2009 17:30 |
Дано четырехзначное число, заданное в символьном виде, например, '1954'. Напечатать его текстом, например | gred | Помощь студентам | 13 | 31.03.2008 22:24 |