Da esperienze scolastiche il miglior linguaggio per questo genere di cose è il C.
In particolare le due istruzioni fondamentali (contenute nella libreria dos.h) sono:
- var=inportb(<indirizzo del registro>);
che legge un byte dall'indirizzo indicato e lo mette in var
- outportb(<indirizzo registro>,var);
che scrive nel registro indicato il contenuto di var

Gli indirizzi dei registri della porta parallela sono ( di norma):
DATI ->378h

STATO ->379h

CONTROLLO ->37Ah


Questa procedura funziona solo con win98,ME e precedenti. Con 2000 e XP no (se ti interessa comumque ci sono numerose utility che per aggirare i limiti imposti da zio bill )