El puerto paralelo tiene 25 pines y esta dividido en tres "subpuertos" que son de datos, de control y de status, los primeros dos los utilizas normalmente para salida y el de status se utiliza para meter datos, son los pines del 10 al 15, y la instruccion que utilizas en C es
inport(PUERTO);
Por cierto, para la entrada de datos el puerto cambia, si la dir de tu puerto es 0x378 para meter datos cambiala a 0x379, y al dato que introduces tienes que hacerle "modificaciones" para pasarlo a decimal. Ejemplo, para meter un dato por el pin 15:
entrada=(inport(0x379)^0x80)&0xf8;
entrada=entrada&mascara; //mascara es el valor del bit por el que metes los datos el pin 15 es el bit 4, su valor es 8.
Haz pruebas con esto, espero sirva la informacion
Saludos, Juan