Premetto che è da due anni che non uso questi comandi e tratto argomenti del genere...
I comandi IN e OUT servono per inviare\ricevere dati da una periferica.
Per scegliere la periferica bisogna naturalmente sapere dov'è mappata.
Facendo un esempietto facile ti si chiariranno le idee.
scrivere
codice:
MOV AL,05 ; carico in AL il dato che voglio trasmettere
MOV DX,0378 ; "dico al pc" che voglio INVIARE alla porta parallela (LPT1)
OUT DX,AL ; invio i dati alla porta parallela
leggere
codice:
MOV DX,0379 ; "dico al pc" che voglio RICEVERE dalla porta parallela (LPT1)
IN AL,DX ; metto in AL i dati ricevuti
Questo per quanto rigurda l'LPT1, se vuoi cose più complesse devi avere un datasheet senò non puoi concludere niente.