Home » Tipps & Tricks » System » Hardware » Direkter Hardwarezugriff unter Win95/98
Direkter Hardwarezugriff unter Win95/98
Die folgenden Prozeduren erlauben den direkten Hardwarezugriff z.B. auf den Druckerport, die serielle Schnittstelle oder allgemein auf jede Adresse im E/A-Bereich. Sie sind hilfreich wenn man einen Port einmal für anderes als nur die Druckausgabeverwenden möchte (z.B. Ansteuerung eigener Hardware).Die aktuell eingestellten Portadressen (PortAdress) kann man meist im BIOS-Setup nachsehen, wo sie als Hexadezimalwert angegeben sind.
// Auf eine Adresse schreiben procedure Out32(PortAddress: smallint; Value: smallint); stdcall; export; var ByteValue: Byte; begin ByteValue:=Byte(Value); asm push dx mov dx,PortAddress mov al, ByteValue out dx,al pop dx end; end; // Von einer Adresse lesen function Inp32(PortAddress: smallint): smallint; stdcall; export; var ByteValue: byte; begin asm push dx mov dx, PortAddress in al,dx mov ByteValue,al pop dx end; Inp32 := smallint(ByteValue) and $00FF; end;