Re: parallel port


[ Related Articles and Replies ] [ DelphiLand FAQ ] [ Delphi Tutorials ]

Posted by kearltje on January 13, 2002 at 11:04:53:

In Reply to: parallel port posted by JHC on January 11, 2002 at 23:30:44:

on the lpt port you can control 8 data ports and read 4 data ports
for the 8 data ports you need this asm code


lptout=378h
and lptin=379h

procedure TForm1.schakelaar1UpClick(Sender: TObject);
  begin
  asm
  mov dx,lptout
  in al,dx
  or al,01h
  out dx,al
  end;
end;
procedure TForm1.schakelaar2UpClick(Sender: TObject);
begin
  asm
  mov dx,lptout
  in al,dx
  or al,02h
  out dx,al
  end;
end;
procedure TForm1.schakelaar3UpClick(Sender: TObject);
begin
  asm
  mov dx,lptout
  in al,dx
  or al,04h
  out dx,al
  end;
end;
procedure TForm1.schakelaar4UpClick(Sender: TObject);
begin
  asm
  mov dx,lptout
  in al,dx
  or al,08h
  out dx,al
  end;
end;
procedure TForm1.schakelaar5UpClick(Sender: TObject);
begin
  asm
  mov dx,lptout
  in al,dx
  or al,10h
  out dx,al
  end;
end;
procedure TForm1.schakelaar6UpClick(Sender: TObject);
begin
  asm
  mov dx,lptout
  in al,dx
  or al,20h
  out dx,al
  end;
end;
procedure TForm1.schakelaar7UpClick(Sender: TObject);
begin
  asm
  mov dx,lptout
  in al,dx
  or al,40h
  out dx,al
  end;
end;
procedure TForm1.schakelaar8UpClick(Sender: TObject);
begin
  asm
  mov dx,lptout
  in al,dx
  or al,80h
  out dx,al
  end;
end;
// ...and to reset the stuff you can use
procedure TForm1.schakelaar1DownClick(Sender: TObject);
begin
  asm
  mov dx,lptout
  in al,dx
  and al,0feh
  out dx,al
  end;
end;
procedure TForm1.schakelaar2DownClick(Sender: TObject);
begin
asm
mov dx,lptout
in al,dx
and al,0fdh
out dx,al
end;
end;
procedure TForm1.schakelaar3DownClick(Sender: TObject);
begin
asm
mov dx,lptout
in al,dx
and al,0fbh
out dx,al
end;
end;
procedure TForm1.schakelaar4DownClick(Sender: TObject);
begin
asm
mov dx,lptout
in al,dx
and al,0f7h
out dx,al
end;
end;
procedure TForm1.schakelaar5DownClick(Sender: TObject);
begin
asm
mov dx,lptout
in al,dx
and al,0efh
out dx,al
end;
end;
procedure TForm1.schakelaar6DownClick(Sender: TObject);
begin
asm
mov dx,lptout
in al,dx
and al,0dfh
out dx,al
end;
end;
procedure TForm1.schakelaar7DownClick(Sender: TObject);
begin
  asm
    mov dx,lptout
    in al,dx
    and al,0bfh
    out dx,al
  end;
end;
procedure TForm1.schakelaar8DownClick(Sender: TObject);
begin
  asm
  mov dx,lptout
  in al,dx
  and al,7fh
  out dx,al
  end;
end;
 

Related Articles and Replies:


[ Related Articles and Replies ] [ DelphiLand FAQ ] [ Delphi Tutorials ]