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

Вниз

asm in/out   Найти похожие ветки 

 
BorisMurmansk   (2001-10-01 15:29) [0]

Для обмена данными через порты ввода/вывода (ISA карта) в Pascal был предусмотрен массив Port[]. В Deplhi (Win32) пришлось использовать ассемблерные вставки и команды in/out.
При попытки скомпилировать этот код в Windows 2000 (NT) получаю exception Privileged Instuction.
Есть ли выход? И вообше где можно почитать о ньюансах перехода на NT?

Заранее благодарен... Борис


 
Digitman ©   (2001-10-01 16:14) [1]

Ну, положим, при компиляции ты не получишь Exception - поймаешь ты его однозначно только в run-time
В NT выход один - писать и инсталлировать SYS-драйвер, работающий с портами. Обрати свой взор на MS DDK - он как раз и ориентирован на генерацию драверов устройств.
В Win9x же с защитой попроще - можно обойтись и без драйвера : перейдя на 0-й уровень привелегий, можно творить с любыми портами все, что тебе заблагорассудится. Но лучше, конечно, задействовать все тот же DDK для генерации VXD-драйвера. Тем более, если с устройством предполагается работать одновременно по запросам из нескольких задач, выполняемых одновременно - драйвер, кроме собственно ввода-вывода, будет выполнять ф-ции арбитра доступа к портам при возникновении коллизий, связанных с попыткой одновременного обращения более чем одного кодового потока к виртуальному устр-ву


 
unionsoft ©   (2001-10-01 19:31) [2]

Посмотри здесь:
http://www.webdoc.ru/text.phtml?level=&id=27&script_id=750


 
MBo ©   (2001-10-03 07:26) [3]

В NT (пробовалось в NT4) можно работать с портами как обычно, т.е.
procedure ByteOutPort(PortNum:Word;OutValue:Byte);
begin
asm
mov dx,PortNum
mov al,OutValue
out dx,al
end;
end;
и соответственно
ByteOutPort($378,$0D);
если установлен драйвер giveio
Есть компоненты, создающие его автоматически. Намылить?


 
Andrew22   (2001-10-03 11:28) [4]

Намыльте, pls. pautine@yahoo.com


 
Mbo ©   (2001-10-03 12:35) [5]

Отправил BorisMurmansk и Andrew22


 
stasev   (2001-10-04 11:31) [6]

I mne ppogalyista esli mogno, pls :(


 
Gnome   (2001-10-05 00:44) [7]

и мне плз.!!!


 
Mbo ©   (2001-10-05 09:50) [8]

Выложил в кладовку



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

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

Наверх




Память: 0.48 MB
Время: 0.018 c
7-66370
Giga-Byte
2001-08-29 22:59
2002.01.21
Как получить список процессов в win2k и убить желаемый


3-66220
vangog
2001-12-17 16:03
2002.01.21
Поиск в TTable глючит !


1-66243
Mis
2002-01-02 13:41
2002.01.21
Как сделать паузу.


1-66277
BFG
2002-01-02 20:48
2002.01.21
Вобще это не один вопрос, а.....вобщем несколько...


4-66405
Dimich
2001-11-10 13:31
2002.01.21
Прочитайте вопрос