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