PortLn w Delphi

0

Witam.
Jestem poczatkujacym programista Delphi.
Chcialbym napisac program w Delphi 6 do sterowania
jakiegos urządzenia. Potrzebna jest mi jakas komenda do zmiany wartosci wskazanego adresu pamieci komputera.
W Turbo Pascalu 7 uzywalem komendy :
PortLn($x):=y
gdzie "x" to adres pamieci a "y" to wartosc jaka chcemy pod tym adresem umiescic.
Delphi nie ma hyba takiej komendy dalatego bardzo prosze o pomoc bardziej doswiadczonych uzytkownikow Delphi. Moze ktos juz zetknal sie z tym tematem i chetnie podzieli sie z innymi swoja wiedza.

Pozdrawiam
Grzegorz Jezierski


0
procedure outportb(portnr,value:cardinal);
asm
  mov edx,[portnr]
  mov eax,[value]
  out dx,al
end;

procedure outportw(portnr,value:cardinal);
asm
  mov edx,[portnr]
  mov eax,[value]
  out dx,ax
end;

procedure outportl(portnr,value:cardinal);
asm
  mov edx,[portnr]
  mov eax,[value]
  out dx,eax
end;

function inportb(portnr:cardinal):byte;
asm
  mov edx,[portnr]
  in  al,dx
end;

function inportw(portnr:cardinal):word;
asm
  mov edx,[portnr]
  in  ax,dx
end;

function inportl(portnr:cardinal):cardinal;
asm
  mov edx,[portnr]
  in  eax,dx
end;

Nie wiem czemu, ale nie udało mi sie zmusić delphi do ładowania rejestrów innych niż 32bitowe.

1 użytkowników online, w tym zalogowanych: 0, gości: 1