Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.026 c
1-63219
Desrt
2004-01-09 15:16
2004.01.20
Как програмно проверить вставлена ли дискета?


14-63344
Igorek
2003-12-26 13:16
2004.01.20
Порекоммендуйте программу чтения новостей


1-63229
zxcvb
2004-01-09 11:52
2004.01.20
Дата и время


1-63073
Delph
2004-01-08 16:10
2004.01.20
TStrings


11-63051
Nix
2003-05-04 18:48
2004.01.20
кол-во секций в Ini файле???




   Наверх