Tandy 1000 HX Technical Reference Manual page 137

Table of Contents

Advertisement

8259A
Operation Control Word 3 (0CW3)
ESMM-Enable Special Mask Mode. When this bit
is set to 1 it enables the SMM bit to set or reset the
Special Mask Mode. When ESMM = 0 the SMM bit
becomes a "don't care".
SMM—Special Mask Mode. If ESMM = 1 and SMM
= 1 the 8259A will enter Special Mask Mode. If
ESMM = 1 and SMM = 0 the 8259A will revert to
normal mask mode. When ESMM = 0, SMM has no
effect.
When a mode is used which may disturb the fully
nested structure, the 8259A may no longer be able
to determine the last level acknowledged. In this
case a Specific End of Interrupt must be issued
which includes as part of the command the IS level
to be reset. A specific EOI can be issued with 0CW2
(EOI = 1, SL = 1, R = 0, and L0-L2 is the binary
level of the IS bit to be reset).
It should be noted that an IS bit that is masked by an
IMR bit will not be cleared by a non-specific EOI if
the 8259A is in the Special Mask Mode.
Fully Nested Mode
This mode is entered after initialization unless anoth-
er mode is programmed. The interrupt requests are
ordered in priority from 0 through 7 (0 highest).
When an interrupt is acknowledged the highest pri-
ority request is determined and its vector placed on
the bus. Additionally, a bit of the Interrupt Service
register (ISO-7) is set. This bit remains set until the
microprocessor issues an End of Interrupt (EOI)
command immediately before returning from the
service routine, or if AEOI (Automatic End of Inter-
rupt) bit is set, until the trailing edge of the last INTA.
While the IS bit is set, all further interrupts of the
same or lower priority are inhibited, while higher lev-
els will generate an interrupt-(which will be acknowl-
edged only if the microprocessor internal Interupt
enable flip-flop has been re-enabled through soft-
ware).
After the initialization sequence, IRO has the highest
prioirity and IR7 the lowest. Priorities can be
changed, as will be explained, in the rotating priority
mode.
End of Interrupt (EOI)
The In Service (IS) bit can be reset either automati-
cally following the trailing edge of the last in se-
quence INTA pulse (when AEOI bit in ICW1 is set) or
by a command word that must be issued to the
8259A before returning from a service routine (EOI
command). An EOI command must be issued twice
if in the Cascade mode, once for the master and
once for the corresponding slave.
There are two forms of EOI command: Specific and
Non-Specific. When the 8259A is operated in modes
which perserve the fully nested structure, it can de-
termine which IS bit to reset on EOI. When a Non-
Specific EOI command is issued the 8259A will auto-
matically reset the highest IS bit of those that are
set, since in the fully nested mode the highest IS
level was necessarily the last level acknowledged
and serviced. A non-specific EOI can be issued with
0CW2 (EOI = 1, SL = 0, R = 0).
Automatic End of Interrupt (AEOI)
Mode
If AEOI = 1 in ICW4, then the 8259A will operate in
AEOI mode continuously until reprogrammed by
ICW4. in this mode the 8259A will automatically per-
form a non-specific EOI operation at the trailing
edge of the last interrupt acknowledge pulse (third
pulse in MCS-80/85, second in 8086). Note that
from a system standpoint, this mode should be used
only when a nested multilevel interrupt structure is
not required within a single 8259A.
The AEOI mode can only be used in a master 8259A
and not a slave.
Automatic Rotation
(Equal Priority Devices)
In some applications there are a number of interrupt-
ing devices of equal priority. In this mode a device,
after being serviced, receives the lowest priority, so
a device requesting an interrupt will have to wait, in
the worst case until each of 7 other devices are
serviced at most once. For example, if the priority
and "in service" status is:
2-248
Before Rotate (IR4 the highest prioirity requiring
service)

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents