Главная страница
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.017 c
3-60032
vvvvv
2003-05-27 16:26
2003.06.19
Можно-ли через ADO упаковать *.mdb ?


14-60347
Andrey V.
2003-06-02 10:23
2003.06.19
Слепить три файла в один.


3-60077
sony1
2003-05-28 13:08
2003.06.19
Как выбрать из view первые 100 записей например ?


7-60438
Yanis
2003-04-15 22:17
2003.06.19
Format a:


1-60250
Danil%%
2003-06-05 21:41
2003.06.19
Вопрос о строке в файле