I'm not an electrical engineer, so I might not fully answer your Q.
I'm using VC++, under Help, I found:
_inp (read one byte from specified I/O port)
_inpd(same as _inp but double word)
_inpw(2 byte)
_outp(for write)
_outpd
_outpw
I searched from Google, Parallelport programming, and found this:
http://www.lvr.com/jansfaq.htm
Be carefull with your wiring to Parallelport pin, you might hose your motherboard or Input card.
cheers,
Johan