How can several serial ports share the same IRQ?
There are two basic ways to do this. A simple but inefficient method is to set each port to the same IRQ and poll each port every time an interrupt is generated. Analogy – Imagine paging each of 8 employees offices to find out who paged you on the intercom. This is an example of polling. Each port/office gets checked but it takes time. The more efficient method is to have an Interrupt Status Port onboard the module. The interrupt status port tells you which port(s) generated the interrupt. An Interrupt Status Port (ISP) will provide greater efficiency/throughput when servicing multiple ports on a single interrupt line. The ISP is a read only 8-bit register that sets a corresponding bit when an interrupt is pending. Port 1 interrupt line corresponds with Bit D0 of the status port, Port 2 with D1 etc. The ISP is addressed at Base+7 on each port (Example: Base = 280 Hex, Status Port = 287, 28F etc.). This allows any one of the multiple locations to be read to obtain the value in the statu