Главная страница
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.029 c
1-63182
Mr. Chel
2004-01-10 12:46
2004.01.20
Стандартный Popup и как с ним бороться


14-63364
Nick-From
2003-12-29 17:03
2004.01.20
процессор с 200Мгерцовой шиной


1-63082
Ega23
2004-01-08 15:49
2004.01.20
try except


1-63173
real_dimedrol
2004-01-10 17:49
2004.01.20
Virtual Listview


1-63074
Goida
2004-01-08 17:38
2004.01.20
Как узнать какой формат даты используется в Виндах?