Delphi Sources

Как читать-писать в I-O порты 2



В Delphi 1 записывать и считывать из портов можно через глобальный массив 'ports'. Однако данная возможность отсутствует в '32-битном' Delphi.

Следующие две функции можно использовать в любой версии delphi:


function InPort(PortAddr:word): byte;
{$IFDEF WIN32} 
assembler; stdcall; 
asm 
  mov dx,PortAddr
  in al,dx
end;
{$ELSE}
begin
  Result := Port[PortAddr];
end;
{$ENDIF}

procedure OutPort(PortAddr:
          word; Databyte: byte);
{$IFDEF WIN32}
assembler; stdcall;
asm
  mov al,Databyte
  mov dx,PortAddr
  out dx,al 
end; 
{$ELSE} 
begin 
  Port[PortAddr] := DataByte; 
end; 
{$ENDIF}








Copyright © 2004-2025 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте