8086 has 2 interrupt inputs 1. nmi 2. intr for application where we have interrupts from multiple...

Post on 02-Jan-2016

231 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

8259A PRIORITY INTERRUPT CONTROLLER

8086 has 2 interrupt inputs 1. NMI

2. INTRFor application where we have interrupts from multiple

sources, use an external device called a Priority Interrupt Controller(PIC) to “funnel” the interrupt signals into a single interrupt input on the processor.

8259A Overview and system connectionMultiply the interrupt type

it receives from the 8259A by 4 to produce an address in the interrupt vector table.

Push the flags on the stack.Clear IF and TF.Push the return address on

the stack.Get the starting address for

the interrupt procedure from the interrupt-vector table and load that address in CS and IP.

Execute the ISP.

Send out 2 interrupt ack pulse on its pin to the of an 8259A PIC. The pulses tell the 8259A to send the desired type to the 8086 on the data bus.

8259A PIC

Master and slaveMaster The 8259A connected directly into the 8086

INTR pin is called as masterSlave The INT pin from the other 8259A connects into

an IR input on the master. This secondary or cascaded device is called as a slave

Programming the 8259A The 8259A is programmed by properly

initializing:- 4 ICWs - Initialization command

words;- 3 OCWs – Operation command

words; The initialization procedure may not

needto initialize all of them.

Initializing an 8259A1. Find the system base address2. Find the internal address3. System address=internal address + base

address

top related