Введение
Если команда выдана с A0=0 и D4=1, она
интерпретируется как командное слово инициализации 1 (ICW1).
ICW1 начинает последовательность инициализации, во время
которой автоматически происходит следующее:
a. Фронт цепи чувствительности сбрасывается, это означает,
что после инициализации, чтобы произошло прерывание, на
входе запроса на прерывание должен произойти переход в
направлении снизу вверх.
b. Регистр масок прерывания очищается.
c. Входу IR7 назначается приоритет 7.
d. Адрес для режима ведомого устанавливается в 7.
e. Режим специальных масок сбрасывается, а чтение состояния
устанавливается на IRR.
f. Если IC4=0, то все функции, выбраннуе в ICW4
устанавливаются в нуль. (небуферный режим~, нет АвтоEOI,
система MCS-80/85)
ПРИМЕЧАНИЕ: Ведущий/ведомый в ICW4 используется только в
буферном режиме.
A5-A15:
Адрес страницы старта рутины обслуживания. В
системе MCS-80/85 восемь уровней запроса будут
генерироватьобращения к восьми ячейкам равномерно
распределенных в памяти. Они могут быть
запрограммированы с интервалом либо 4, либо 8 ячеек
памяти, следовательно 8 рутин займут страницу из 32
или 64 байт, соответственно.
Формат адреса длиной в два байта (A0-A15). Когда
интервал рутин равен 4 А0-А4 автоматически
вставляются 8259A, а А5-А15 программируются извне.
Когда интервал рутин равен 8 А0-А5 автоматически
вставляются 8259A, а А6-А15 программируются извне.
8-байтный интервал установлен для совместимости с
существующим матобеспечением, а 4-байтный интервал
наилучший для компактной таблицы переходов.
В системе iAPX A15-A11 вставляются в 5 самых значащих
битов векторного байта, а 8259A устанавливает три
младших значащих бита в соответствии с уровнем
прерывания. A10-A5 игнорируются, а ADI (адресный
интервал) ни на что не влияет.
LTIM:
Если LTIM=1, то 8259A оперирует в режиме прерывания
по уровню. Логика детекции по фронту будет подавлена.
ADI:
Адресный интервал вызова - ADI=1, то интервал 4,
ADI=0 интервал 8.
SNGL:
Одиночный. Означает, что 8259A единственный в
системе. Если SNGL=1, ICW3 не должно выдаваться.
IC4:
Если этот бит установлен, будет ожидаться ICW4. Если
ICW4 не нужно, установите IC4=0.
Данное слово только считывается, когда в системе
несколько 8259A и используется каскадирование, в случае
которого SNGL=0. ICW3 загрузит 8-битовый регистр, в функции
которого входит
1. В режиме ведущего (когда либо SP=1, либо в буферном
режиме M/S=1 в ICW4) для каждого ведомого в системе 8259A
устанавливается "1". При работе ведущий выдает первый
байт последовательности вызыва (в системе MCS-80/85) и по
каскадным линиям разрешает соответствующему ведомому
выдать второй и третий байты (в iAPX только второй)
2. В режиме ведомого (когда либо SP=0, либо если BUF=1, а
M/S=1 в ICW4) биты 2-0 идентифицируют ведомый. Ведомый
будет сравнивать их с входными каскадными линиями и,
когда они совпадут на шину данных будут выданы второй и
третий (или только второй в iAPX 86) байты
последовательности вызова.
SFNM:
если 1, то программируется специальный полностью
вложенный режим.
BUF:
если 1, то программируется буферный режим. В буферном
режиме SP/EN становится выходом, а по M/S определяются
ведущие и ведомые.
M/S:
если в буферном режиме выбрано M/S=1, 8259A
программируется как ведщий, M/S=0 означает
программирование ведомого. M/S не имеет функции в
случае BUF=0.
AEOI:
если 1, программируется режим автоматического
завершения прерывания
мPM:
признак микропроцессора: мPM=0 устанавливает 8259A в
режим системных операций MCS-80/85, а мPM=1 в режим
iAPX 86.