Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.19;
Скачать: CL | DM;

Вниз

Как обратится к первому мегабайту памяти?   Найти похожие ветки 

 
ddenisv   (2003-04-12 15:04) [0]

Нужно читать из адресов где биос лежит. Партирую досовскую программу в которой это делалось через ассемблер код. Но в делфи этот код вызывает ексепт на чтение памити.
Надо чтобы работало из Win9x и NT/XP


 
Polevi ©   (2003-04-12 16:27) [1]

драйвер


 
Anatoly Podgoretsky ©   (2003-04-12 18:23) [2]

А смысл, в Виндоус не используется BIOS Area и вообще нет вонятия физическая память, ну почти


 
NightAngel   (2003-04-12 22:52) [3]

Читать HalGetBusData/HalGetBusDataByOffset
Писать HalSetBusData/HalSetBusDataByOffset

В конечном счете все сводится к вызову HalpGetCmosData/HalpSetCmosData.

Или побайтно читать/писать порты.


 
Слесарь Матерящийся ©   (2003-04-13 12:31) [4]

...но дельфа здесь опять-же ни при чём, т.к. ф-и HAL должны вызываться с CPL=0, т.е. из драйверной системы...


 
ddenisv   (2003-04-13 17:52) [5]

Мне нужно прочитать 9000 байт начиная с поределенного адреса который лежит в области биоса.
В досе просто делал в цикле вызывал воттвкую функцию
mov ax,(сегмент)
mov es,ax
mod di,(смещение)
mov ax, es:[di]
И возвращал AX как результат.

Я не знаю что такое HAL функции, если можно попродробней, можно ткнуть ссылкой.

Реально ли это сделать если это не драйвер?



 
Anatoly Podgoretsky ©   (2003-04-13 17:59) [6]

Реально с драйвером, но смысла не имеет.


 
NightAngel   (2003-04-13 21:38) [7]

> ddenisv (13.04.03 17:52) Я не знаю что такое HAL функции, если можно попродробней, можно ткнуть ссылкой.
Смотрите Windows DDK.

Anatoly Podgoretsky прав. Смысла в этом нет. Win32 не обращается к сервисам предоставляемых BIOS-ом (за некоторыми исключениями), и для чего Вам читать эти 9000 байт ? Реально это сделать и без драйвера (опять же смысл ?), но это уже скользкая тема, и она не для обсуждения на форуме.


 
konstantinov ©   (2003-04-13 21:49) [8]

Меня данный вопрос тоже очень интересует. Рискну предположить что из первого мегабайта можно прочесть данные с помощью следующей строки:

BiosDate:array[0..255] absolute $FFFF5;

Взято с сайта Anatoly Podgoretsky из сборника FAQ

Используется для определения даты BIOS. Сам не проверял.


 
NightAngel   (2003-04-13 22:14) [9]

> konstantinov © (13.04.03 21:49)
Меня данный вопрос тоже очень интересует. Рискну предположить что из первого мегабайта можно прочесть данные с помощью следующей строки:

BiosDate:array[0..255] absolute $FFFF5;

Взято с сайта Anatoly Podgoretsky из сборника FAQ

Используется для определения даты BIOS. Сам не проверял.


Не будет это работать.


 
Alex Konshin ©   (2003-04-14 09:36) [10]

Прочитать физ.память в NT можно и без драйверов, но не уверен, что это действительно нужно.


 
ddenisv   (2003-04-14 13:20) [11]

Ходь бери да кусок программы в консольное приложение засовую. Там проблем нет.
А про смысл лучше не спрашивайте.



Страницы: 1 вся ветка

Текущий архив: 2003.06.19;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.022 c
14-60395
LiLa Ananda
2003-06-02 10:21
2003.06.19
Что ведет мужчину?


1-60134
Merlot
2003-06-06 13:16
2003.06.19
количество дней между датами


11-60098
Alexander
2002-09-22 12:30
2003.06.19
Странное поведение свойства Align:


1-60192
Шаповалов К И
2003-06-05 10:59
2003.06.19
TChart. Тривиально - по произвольному значению X узнать Y


14-60399
panov
2003-06-03 14:44
2003.06.19
Заголовочные файлы.