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

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

Code:

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}

 

Добавить комментарий

Не использовать не нормативную лексику.

Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.

ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!


Защитный код
Обновить