Interrupt Controller (8259A)
M7
M6
M5
M4
M3
M2
M1
M0
INTERRUPT MASK
1 = MASK SET
0 = MASK RESET
D7
D6
D5
D4
D3
D2
D1
D0
D7
D6
D5
D4
D3
D2
D1
D0
0
3
4
5
6
7
1
2
0
1
0
1
0
1
1
0
0
1
0
0
1
1
0
1
0
0
1
1
1
1
0
0
R
SL
EOI
0
0
L2
L1
L0
BCD LEVEL TO BE RESET
OR PUT INTO LOWEST PRIORITY
0
0
1
1
0
1
1
0
0
1
0
0
0
1
1
1
1
1
1
0
0
1
0
0
Non-specific EOI
Specific EOI
Rotate on Non-Specific EOI Command
Rotate in Automatic EOI Mode (Set)
Rotate in Automatic EOI Mode (Clear)
*Set Priority Command
No operation
*Rotate on Specific EOI Command
OCW2
D7
D6
D5
D4
D3
D2
D1
D0
ESMM
SMM
0
1
P
RR
RIS
0
0
1
0
0
1
1
1
NO ACTION
READ
IRR
ON NEXT
RD PULSE
READ
ISR
ON NEXT
RD PULSE
0
0
1
0
0
1
1
1
NO ACTION
RESET
SPECIAL
MASK
SET
SPECIAL
MASK
POLLING
A HIGH ENABLES THE NEXT RD PULSE
TO READ THE BCD CODE OF THE HIGH-
EST LEVEL REQUESTING INTERRUPT
OCW3
READ IN-SERVICE REGISTER
I/O ADDRESS = 20h
0
I/O ADDRESS = 20h
I/O ADDRESS = 21h
OCW1
Figure 12–4. 8259A Operation Control Word Formats.
12-17