Hola fCran, te paso dos rutinitas que tengo para escribir y leer caracteres del puerto paralelo, estas funciones las he tomado una "unit" printer que tenía en Pascal:
Código:
function GetLptChar( LptNo : Word) : Byte; assembler;
asm
mov dx, LptNo
mov ah,02
int 17h
xchg ah,al
end;
function SetLptChar( C: Char; LptNo: Word ): Byte; assembler;
asm
mov dx,LptNo { Mueve el valor de LptNo al registro de datos }
mov al,C
mov ah,0
int 17h
xchg ah,al
end;
El problema es que si quieres que este código funcione en arquitecturas NT, te cuento que estas perdido, porque NT "protege" la escritura directa en los puertos. La solución es utilizar la WinApi CreateFile.
Saludos!