|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
04.05.2012, 15:40 | #1 |
Регистрация: 04.05.2012
Сообщений: 3
|
Как узнать дату и версию Bios?
Помогите узнать дату и версию BIOS с помощью Assembler.
Заранее спасибо! |
04.05.2012, 19:26 | #2 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
Они находятся по адресу FFFF:0
|
04.05.2012, 20:47 | #3 |
Регистрация: 04.05.2012
Сообщений: 3
|
s-andriano, спасибо!
А можно чуть конкретнее (какие прерывания использовать и что в какой регистр помещать)? |
04.05.2012, 21:23 | #4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
если Вас ваша винда к портам пустит, то вот так можно целиком биос прочитать в файл (старый добрый TurboPascal):
Код:
|
04.05.2012, 21:41 | #5 |
Регистрация: 04.05.2012
Сообщений: 3
|
Спасибо вам огромное, Serge_Bliznykov!
Попытаюсь разобраться... |
05.05.2012, 10:11 | #6 |
Негодник
Форумчанин
Регистрация: 10.11.2009
Сообщений: 880
|
Sergey_Bliznykov, паскаль может и разрешает обращаться по абсолютному адресу $F000:0 , но вот Delphi разрешает указывать на адрес какой-либо переменной. Как же тогда обратиться по адресу $F000:0?
Если помог, проси поставить минус. Будь оригинален!
|
05.05.2012, 11:14 | #7 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
Это абсолютный адрес в физическом адресном пространстве.
Чтобы каким-то образом получить к нему доступ из защищенного режима, нужно воспользоваться соответствующими средствами ОС, если она такое позволяет. Т.е. отмапить физический адрес на логический. В DPMI я это делал, а вот как это сделать в WinAPI - как-то не знаю, не возникало такой потребности. Подозреваю, что эти данные можно раздобыть из реестра. Да, есть в реестре \HKEY_LOCAL_MACHINE\HARDWARE\DESCRI PTION\System\SystemBiosDate и SystemBiosVersion Последний раз редактировалось s-andriano; 05.05.2012 в 11:19. |
05.05.2012, 11:27 | #8 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
05.05.2012, 11:39 | #9 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
WMI - из пушки по воробьям. Намного как тяжелее, так и дольше, чем работа с реестром.
|
05.05.2012, 11:59 | #10 |
Негодник
Форумчанин
Регистрация: 10.11.2009
Сообщений: 880
|
$F000:0 так это ж, кажется, и есть логический адрес (F000 - адрес, : - разделитель, 0 - смещение). Физический адрес - это $F0000.
Если я прав, то каким образом сослаться на этот адрес? Так? Код:
Если помог, проси поставить минус. Будь оригинален!
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как узнать версию сервера? | Vit@L | БД в Delphi | 2 | 04.11.2011 16:54 |
как узнать дату создания файла | green-shrek | Помощь студентам | 5 | 25.02.2010 17:33 |
Как получить дату BIOS (Windows 7) | RIO | Общие вопросы Delphi | 1 | 05.02.2010 23:42 |
Как узнать версию библиотеки в Devcpp? | Lavisa | Общие вопросы C/C++ | 2 | 30.07.2009 16:44 |
Как узнать версию браузера | FlooPy | PHP | 3 | 24.11.2007 23:25 |