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
|