The problems associated with connecting the 8-bit interface devices to
a 16-bit bus of an 8086 are related to the need to transfer even-addressed
bytes over the lower half of the data bus and odd-addressed bytes over
the upper half.
For interfaces that communicate only with the processor (i.e., do not
utilize DMA), the problem can be solved quite simply.Instead of connecting
the address lines for selecting individual registers internal to the
interface , say An-A0, to the interface's pins An-A0, attach lines A(n+1)
-A1 to those pins as shown in Fig.9-52.
This means that the interface will be assigned only even addresses in the
I/O address space beginning with an address divisible by 2^(n+1) and the
interspersed odd addresses would not be used.
For example, if the A1 and A0 pins on the 8255A were connected to the A2
and A1 address lines and the beginning address of the 8255A ports were
08F8, then all transfers to and from the 8255A would be made over the
low-order byte of the bus.
The ports A,B and C would have the addresses 08F8,08FA and 08FC, respectively
and the control register would be assigned the address 08FE.Likewise,
consecutive odd addresses can be assigned to an interface if the interface
is connected to the high-order byte of the bus.
| PRETHODNA FOLIJA | SADRZAJ | SLEDECA FOLIJA |