assembler einbinden ist insofern problematisch, da das betriebssystem (kp, ab welchem, unter 98 müsste es noch gehn ;) zugriffe auf hardwareregister (lpt1 normalerweise 0x378) verwehrt. gibt dann ne schöne exception, sollte man versuchen mit den programmierspracheneigenen befehlen zur setzung eines hw-registers auf die hw zuzugreifen. kann dadurch halt zu kritischen systemabstürzen führen, daher wird der zugriff nurnoch über die Winapi erlaubt.
aber es gibt hoffnung! treiber können nämlich sehr wohl auf die hw-register zugreifen. (nein, du musst keinen treiber schreiben ;). genau dieses macht sich die inpout32.dll zu nutze. sie implementiert einen treiber, der dann bequem aus beinahe jeder programmiersprache genutzt werden kann.
(hier wollte ich eig nen downloadlink mit ner beschreibung posten, hab aber über google was noch besseres gefunden:
hier)
sollte auch in vba funktionieren (excel makros).
diese funktion tut also genau, was du willst. einfach "Out32 &H378, bitmask" und die pegel liegen am datenregister des lpt an. (mit 0x379 und 0x37A lassen sich auch noch status und kontrollregister lesen und schreiben)
aber drauf achten, port nicht kurzschließen oder zu viel strom ziehen. das macht den (angeblich, spreche nicht aus erfahrung!) recht schnell kaputt
Ele