Windows - usando portas

Top  Previous  Next

How to access a port using Delphi 2.0 and Windows 95:

-----------------------------------------------------

 

Accessing a port in Delphi 2.0 (32 bit land) under Windows 95

add the following code:

 

Reading:

--------

function GetPort() : Byte;

var

  InValue: Byte;

  Address: Word;

begin

  asm

    mov DX, Address

    in AL, DX

    mov InValue, AL

  end;

 

  GetPort:= InValue; 

end;

 

 

Writing:

--------

procedure SetPort(OutValue: Byte);

var

  Address: Word;

begin

  asm

    mov DX, Address

    mov AL, OutValue

    out DX, AL

  end;

end;

 

Under Windows NT you will have to use a VxD for port I/O.

 

=====================================================================================

No Windows 95:

 

function ObterValorDaPorta(porta : integer) : byte;

var 

  valor : byte;

begin

  asm

    mov DX, porta

    in     AL, DX

    mov valor, AL

  end;

  Result:= valor

end;

 

procedure AtribuirValorParaPorta(porta : integer; valor : byte);

begin

  asm

    mov DX, porta

    mov AL, valor

    out   DX, AL

 end

end;

 

Isto, infelizmente, nao eh possivel no Windows NT para o qual 

deve-se construir (codificar) um arquivo VxD.

 

 Para maiores informacoes consultem:

 

 empresa: Tetradyne Software Inc.

 produto: DriverX

 WWW:http://www.tetradyne.com

 disponibilidade no Delphi: Sim

 

 empresa: Vireo Software

 produto: Driver:Works (NT/98)

 produto:VtoolsD (95/98/3.x)

 WWW:http://www.vireo.com

 

 Ou, ainda, o livro (muitissimo bom) "Writing Windows VxDs and Device

 Drivers" de Karen Hazzah editado por R&D Books http://www.rdbooks.com ou

 procura-lo em http://www.amazon.com