![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Работа со CMOS в Win XP [D6, WinXP]
ZedeS © (2004-11-08 12:26:00)Доброго времени суток!
Есть проблемка. Нужно поменять данные в CMOS, а товарищь Win XP это делать не дает. Под 98 все прекрасно работает!
Посоветовали WinIO, но он фигурирует, как для рапоты с COM портом (насколько я понял).
Что по-этому поводу можете посоветовать.
Заранее спасибо!!!
И еще такой вопрос - в 98 используються порты 70 и 71, а ХРif not SetPortVal($70,i,1) then exit else70,71,72,73. Я могу использовать любой?
begin
GetPortVal($71,zn,1);
Result:=zn^;
end;
Пробую, но не получается.
на асемблере
i передается при вызове функции
zn: byte
asm
mov al,i //номер ячейки, из которой производится чтение
out 70h,al //заносим это значние в порт cmos rts
wait
xor ax,ax //очистка регистра ax
in al,71h //вводим в регистр al из порта значение ячейки smoc rts
wait
mov zn,al //присваеваем zn значение ячейки
end;
при помощи WinIO пробую,
подключил драйвер и т.д.(все по инструкции), далее
Вылетает сразу после Set
Что я делаю неправильно?
Заранее спасибо за ответы!
Digitman (2004-11-09 13:54:00) [1]
> в 98 используються порты 70 и 71, а ХР 70,71,72,73
на основании чего ты утверждаешь, что ОС win98 обращается к двум упомянутым портам, а ХП - аж к четырем ? хотя речь идет об одной и той же аппаратной подсистеме ?
Игорь Шевченко (2004-11-09 13:41:00) [2]А нафига CMOS-то менять ?
ZedeS (2004-11-08 12:29:00) [3]Малеха забочинил, вот правильный пост
И еще такой вопрос - в 98 используються порты 70 и 71, а ХР 70,71,72,73. Я могу использовать любой?
Пробую, но не получается.
на асемблере
i передается при вызове функции
zn: byte
asm
mov al,i //номер ячейки, из которой производится чтение
out 70h,al //заносим это значние в порт cmos rts
wait
xor ax,ax //очистка регистра ax
in al,71h //вводим в регистр al из порта значение ячейки smoc rts
wait
mov zn,al //присваеваем zn значение ячейки
end;
при помощи WinIO пробую,
подключил драйвер и т.д.(все по инструкции), далее
if not SetPortVal($70,i,1) then exit else
begin
GetPortVal($71,zn,1);
Result:=zn^;
end;
Вылетает сразу после Set
Что я делаю неправильно?
Заранее спасибо за ответы!