8259 Icw
8259 Icw
8259 Icw
ICW1:
ICW2:
Selects the vector number used with the interrupt request inputs.
For example, if we decide to program the 8259A so that it
functions at vector locations 08H-0FH, we place a 08H into this
command word.
Likewise, if we decide to program the 8259A for vectors 70H-77H,
we place a 70H in this ICW.
ICW3:
ICW4:
SNFM:
Selects the special fully nested mode of operation for the 8259A if logic
1 is placed in this bit. This allows the highest priority interrupt request from
a slave to be recognized by the master while it is processing another
interrupt from a slave. Normally, only one interrupt request is processed at
a time and others are ignored until the process is completed.
AEOI:
Selects automatic or normal end of interrupt. The EOI commands of
OCW2 are used only if the AEOI mode is not selected by ICW4. If AEOI is
selected, the interrupt automatically resets the interrupt request bit and
does not modify priority. This is the preferred mod of operation for the
8259A and reduces the length of the interrupt service procedure.
OCW1:
OCW2:
Is programmed only when the AEOI mod is not selected for the
8259A.
In this case, this OCW selects how the 8259A responds to an
interrupt.
Nonspecific End-of-Interrupt:
A command sent by the interrupt service procedure to signal the end of
the interrupt. The 8259A automatically determines which interrupt level
was active and resets the correct bit of the interrupt status register.
Resetting the status bit allows the interrupt to take action again or a lower
priority interrupt to take effect.
Specific End-of Interrupt:
A command that allows a specific interrupt request to be reset. The exact
position is determined with bits L2-L0 of OCW2.
Rotate-on-Nonspecific EOI:
A command that function exactly like the nonspecific end-of-interrupt
command except that it rotates interrupt priorities after resetting the
interrupt status register bit. The level reset by this command becomes the
lowest priority interrupt. For example, if IR4 was just serviced by this
command, it becomes the lowest priority interrupt and IR5 becomes the
highest priority.
Rotate-on-Automatic EOI:
A command that selects automatic EOI with rotating priority. This
command must be sent to the 8259A only once if this mode is desired. If
this mode must be turned off, use the clear command.
Rotate-on-Specific EOI:
Functions as the specific EOI, except that it selects rotating priority.
OCW3:
If polling is selected, the P-bit must be set and then output to the
8259A. The next read operation would read the poll word. The
rightmost three bits of the poll word indicate the active interrupt
request with the highest priority.