Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Priveleged Instruction, Не получается в WinXP 
:(
    Опции темы
Burich-Caeser
  Дата 24.11.2004, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 109
Регистрация: 28.7.2004

Репутация: нет
Всего: 1



Написал будильник для компа через CMOS, так в 98-м все работает, а XP выдает ошибку Priveleged Instruction. Ошибка при чтении любого значения из CMOS.
Чего делать? smile Буду благодарен за любую помощь.

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Label1: TLabel;
ComboBox1: TComboBox;
Label2: TLabel;
ComboBox2: TComboBox;
Label3: TLabel;
ComboBox3: TComboBox;
Label4: TLabel;
ComboBox4: TComboBox;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
function readcmos(i:byte):byte;
{ Public declarations }
end;

var
Form1: TForm1;
i:integer;

procedure writetocmos(i:byte;zn:byte);

procedure writetocmosend(i:byte;zn:byte);

implementation

{$R *.dfm}

function TForm1.readcmos(i:byte):byte;
VAR
zn:byte;
BEGIN
asm
mov al,i
out 70h,al
wait
xor ax,ax
in al,71h
wait
mov zn,al
end;
result:=zn;
END;

procedure writetocmos(i:byte;zn:byte);
begin
asm
mov al,i
out 70h,al
wait
mov dx,71h
mov al,zn
out dx,al
end;
end;

procedure writetocmosend(i:byte;zn:byte);
var
n,k,flag: byte;
znak:-1..1;
BEGIN
k:=Form1.readcmos(i);
if k>=zn then
begin
n:=k-zn;
znak:=-1;
end
else
begin
n:=zn-k;
znak:=1;
end;
writetocmos(i,zn);
if znak=1 then
begin
k:=form1.readcmos(124);
if (k+n)>256 then
begin
writetocmos(124,k+n-256);
k:=form1.readcmos(123);
writetocmos(123,k+1);
end
else
begin
writetocmos(124,k+n);
end
end
else
begin
k:=form1.readcmos(124);
if k<n then
begin
writetocmos(124,k-n+256);
k:=form1.readcmos(123);
writetocmos(123,k-1);
end
else
begin
writetocmos(124,k-n);
end
end;
END;

procedure TForm1.Button1Click(Sender: TObject);
begin
writetocmosend(85,160);
writetocmosend(79,strtoint(combobox2.Text));
writetocmosend(78,strtoint(combobox3.Text));
writetocmosend(77,strtoint(combobox4.Text));
end;

end.
--------------------
Ты брошен вниз силой судьбы,Ты унижен и раздавлен,Время забыть то, кем ты был,Но помнить, кем ты стал...
PM MAIL   Вверх
Akella
Дата 25.11.2004, 11:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Мне кажется, что ничего не выйдет, хотя бы потому, что даже узнать инфу о BIOS`е можно только из реестра
а может с пом. WinAPI и получиться,
если система не дает изменить данные в BIOS`е, то пусть она сама изменит эти данные smile
PM MAIL   Вверх
p0s0l
Дата 25.11.2004, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 58
Всего: 112



Пользовательским приложениям в NT'ях нельзя юзать инструкции in/out...




--------------------
С уважением, г-н Посол.
PM   Вверх
oleg1973
Дата 25.11.2004, 17:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: 1
Всего: 34



можно под админом драверок запустить
и пусть себе читает


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
Burich-Caeser
Дата 25.11.2004, 17:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 109
Регистрация: 28.7.2004

Репутация: нет
Всего: 1



dsergey
p0s0l
Бжаль=(
oleg1973
То есть оформить прогу драйвером?
Добавлено @ 17:52
p0s0l А по другому поработать с CMOS не получится?
--------------------
Ты брошен вниз силой судьбы,Ты унижен и раздавлен,Время забыть то, кем ты был,Но помнить, кем ты стал...
PM MAIL   Вверх
oleg1973
Дата 25.11.2004, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: 1
Всего: 34



в winapi есть функ для работы с портами если не ошибаюсь


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
Burich-Caeser
Дата 25.11.2004, 22:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 109
Регистрация: 28.7.2004

Репутация: нет
Всего: 1



dsergey
p0s0l
oleg1973
Всем спасибо. Буду копать. Если инфа появится. сообщите, плиз. smile
--------------------
Ты брошен вниз силой судьбы,Ты унижен и раздавлен,Время забыть то, кем ты был,Но помнить, кем ты стал...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0456 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.