The 8086 can generate 16-bit of I/O address. Thus it can address up to 64 Kbyte I/O locations or 32 K word I/O locations.
The 16-bit I/O address appears on A_0 to A_15 address lines; A_16 to A_19 lines are at logic 0 during the I/O operations.
The 16-bit DX register is used as 16-bit I/O address pointer to address up to 64 IC devices in in-direct addressing mode.
The 1/0 instructions with direct addressing mode can directly address one or two of the 256 I/O byte locations in page 0 of the 1/0 address space.
I/0 ports are addressed in the same manner as memory locations. Even addressed bytes are transferred on the D_7-D_0 bus lines and odd addressed bytes onD_15-D_8.
Care must be taken to assure that each register within an 8-bit peripheral located on the lower portion of the bus be addressed as even.
In the I/O space, Intel has reserved 00F8H to 00FF locations.