Архитектура микропроцессорной системы. Состав машинных команд и основы программирования микропроцессорной системы на ассемблере. Булатов В.Н. - 79 стр.

UptoLike

Составители: 

прерыванию с номером, указанным в L0 —L2, независимо от его
приоритета.
Команды с битом R=1 позволяют изменить приоритеты уровней.
Циклический сдвиг приоритетов сдвигает приоритеты влево на единицу,
при этом, если после обычного распределения приоритетов, издать
команду циклического сдвига, уровень 0 получит низший приоритет,
уровень 1 наивысший, уровень 2 следующий за ним и так далее.
Команда явного назначения низшего приоритета одному из уровней
изменяет приоритеты остальных уровней циклически. Таким образом,
если задать низший приоритет уровню 5, то уровень 6 получит
наивысший.
Третья команда обслуживания прерываний OCW3 позволяет
установить и отменить режим специальной маски, перевести контроллер
в режим опроса и прочитать содержимое РЗП и РОЗП. Назначение битов
OCW3 приведено ниже:
A0 D7 D6 D5 D4 D3 D2 D1 D0
┌──╥──┬────┬────┬─┬─┬─┬─┬──┐
0 0 ESMM SMM 0 1 P
RR RIS
└──╨──┴────┴────┴─┴─┴─┴─┴──┘
┌───────┘
┌─────────┘
┌─┬─┐ ┌──────┐
1 0 Отменить режим 0 1 0 Чтение РЗП
├─┼─┤ специальной маски ├──────┤
1 1 Установить режим 0 1 1 Чтение РОЗП
└─┴─┘ специальной маски ├──────┤
1 х х Режим опроса
└──────┘
Единичное значение бита Р переводит контроллер в режим опроса.
Если после этого считать данные из порта с четным адресом, в регистр
AL загрузится байт следующего содержания:
D7 D6 D5 D4 D3 D2 D1 D0
INT 0 0 0 0 L2 L1 L0
Если INT=1, значит имеются запросы на прерывания, и тогда L0
L2 —это номер уровня с наивысшим приоритетом, по которому имеется
запрос на прерывание.
Если P=0, то можно считать информацию из РОЗП или РЗП. Для
этого необходимо выдать команду чтения РОЗП или РЗП (смотрите
выше) и затем считать значение из порта с нечетным адресом.
Единичное значение бита ESMM позволяет в зависимости от
значения бита SMM установить или отменить режим специальной маски.
79
  прерыванию с номером, указанным в L0 —L2, независимо от его
  приоритета.
        Команды с битом R=1 позволяют изменить приоритеты уровней.
  Циклический сдвиг приоритетов сдвигает приоритеты влево на единицу,
  при этом, если после обычного распределения приоритетов, издать
  команду циклического сдвига, уровень 0 получит низший приоритет,
  уровень 1 — наивысший, уровень 2 — следующий за ним и так далее.
  Команда явного назначения низшего приоритета одному из уровней
  изменяет приоритеты остальных уровней циклически. Таким образом,
  если задать низший приоритет уровню 5, то уровень 6 получит
  наивысший.
       Третья команда обслуживания прерываний OCW3 позволяет
  установить и отменить режим специальной маски, перевести контроллер
  в режим опроса и прочитать содержимое РЗП и РОЗП. Назначение битов
  OCW3 приведено ниже:

 A0 D7    D6      D5 D4 D3 D2 D1 D0
┌──╥──┬────┬────┬─┬─┬─┬─┬──┐
  0   0 ESMM SMM 0 1 P RR RIS
└──╨──┴────┴────┴─┴─┴─┴─┴──┘
 ┌───────┘      │          │ │ │
 │ ┌─────────┘            │ │ │
┌─┬─┐                     ┌──────┐
 1 0 Отменить режим         0│1│0      Чтение РЗП
├─┼─┤ специальной маски   ├──────┤
 1 1 Установить режим       0│1│1     Чтение РОЗП
└─┴─┘ специальной маски   ├──────┤
                          1│ х│ х   Режим опроса
                           └──────┘

       Единичное значение бита Р переводит контроллер в режим опроса.
  Если после этого считать данные из порта с четным адресом, в регистр
  AL загрузится байт следующего содержания:

                D7 D6 D5 D4 D3 D2 D1 D0
               INT 0  0  0  0 L2 L1 L0

       Если INT=1, значит имеются запросы на прерывания, и тогда L0 —
  L2 —это номер уровня с наивысшим приоритетом, по которому имеется
  запрос на прерывание.
       Если P=0, то можно считать информацию из РОЗП или РЗП. Для
  этого необходимо выдать команду чтения РОЗП или РЗП (смотрите
  выше) и затем считать значение из порта с нечетным адресом.
       Единичное значение бита ESMM позволяет в зависимости от
  значения бита SMM установить или отменить режим специальной маски.
                                                                    79