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

Вниз

Ошибка ассемблера в XP   Найти похожие ветки 

 
DimaK ©   (2004-01-08 19:49) [0]

Привер всем!

Такая проблема, на 98 все работало, перешол на XP и возникли проблемы при использовании ассемблерных вставок. Вот мой код:

procedure TForm1.Timer1Timer(Sender: TObject);
var v: Byte; // Для состояния CTS (5 ножка)
begin
// Проверка CTS (5 ножка)
if Label1.Caption="1" then // Если используется COM1
begin
asm
mov AH,3; // Номер функции прерывания 14 BIOS
mov DX,0; // Выбираем порт (0-COM1, 1-COM2)
int 14H; // Получаем байт статуса
mov v,AL; // Записываем значение AL в переменную v
end;
end
else
if Label1.Caption="2" then // Если используется COM2
begin
asm
mov AH,3; // Номер функции прерывания 14 BIOS
mov DX,1; // Выбираем порт (0-COM1, 1-COM2)
int 14H; // Получаем байт статуса
mov v,AL; // Записываем значение AL в переменную v
end;
end;
//
if (v AND 16)=16 then Label2.Caption:="1"
else
if (v AND 0)=0 then Label2.Caption:="0";
end;

Смысл был такой, каждую секунду проверяется COM порт, а именно состояние его 5 ножки. На XP сразу же падает, ругается на строку (int 14H). В чем дело и как это исправить?
Заранее спасибо/


 
KSergey ©   (2004-01-09 08:39) [1]

На NT платформе нельзя напрямую из пользовательских программ обращаться к аппаратуре.
Изучайте написание драйверов или используйте имеющиеся готовые наработки по этой теме.
Искать на торри.



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

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

Наверх




Память: 0.47 MB
Время: 0.03 c
1-63205
Ser_ega
2004-01-09 23:17
2004.01.20
Копия экрана!!!


14-63360
Mike Kouzmine
2003-12-29 16:42
2004.01.20
С Нового Года будет дорожать водка.


1-63195
DSP
2004-01-08 19:14
2004.01.20
как определить ТОЧНО, что файл редактируется


14-63383
Juster~~
2003-12-28 11:43
2004.01.20
SB Live!


4-63441
konstantinov
2003-11-13 23:51
2004.01.20
PostMessage в TThread