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

UptoLike

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

OUT DX,AL ; нены по схеме «монтажное ИЛИ» (рисунок 27).
SUB DX,+4 ; Сбросить флаг RxRDY, если он случайно взвелся,
IN AL,DX ; чтением приемника (исключаем ложный INT).
MOV AL,01 ; Разрешить установление INT
INC DX ; по окончанию приема символа в приемник (то есть,
OUT DX,AL ; по флагу RxRDY).
RET ;
Пример 2 —Составить подпрограмму вывода символа из регистра DL в
порт СОМ1.
Как и в случае с LPТ, прежде, чем вывести символ, надо убедиться
в готовности устройства. В данном случае, эта готовность выражается в
том, что передатчик пуст (TxE=1) или пуст буфер передатчика
(TxRDY=1). В нашем примере устраивает любой вариант.
MOV DX,3FD ; Читаем
M1: IN AL,DX ; регистр состояния линии
AND AL,20 ; и анализируем занятость (RxE=0);
JZ M1 ; если занято, то снова чтение.
ADD DX,+5 ; Подготавливаем адрес передатчика
MOV AL,DL ; и выводим туда
OUT DX,AL ; байт данных из регистра DL.
RET ;
16 Программируемый таймер
Для задания временных интервалов и формирования сигналов с
различными временными параметрами в IBM PC/XT применяется
программируемый таймер 8253, в последующих поколениях —8254.
С точки зрения программиста они идентичны. В состав таймера входят:
буфер шины данных, схема управления вводом-выводом и три
независимых канала, каждый из которых содержит регистр режима,
схему управления каналом, буфер и 16-разрядный счетчик (рисунок 29).
Счетчики декрементирующие (убывающий счет).
Каждый счетчик Сч
i
имеет свой адрес:
Имя
счетчика
А1 А0
Счетчик 0 00
Счетчик 1 01
Счетчик 2 10
РУС
таймера
11
РУС таймерарегистр упровляющего слова 3-х счетчиков:
разбит на 3 РУС. С помощью РУС любой счетчик можно
настроить на 6 режимов.
Каждый счетчик имеет выведенные наружу два входа и один выход:
С
i
вход счетный по переднему фронту (предельная частота 2,5 МГц);
СЕ
i
разрешение счета, если СЕ=1;
OUT
i
выход.
102
      OUT DX,AL ; нены по схеме «монтажное ИЛИ» (рисунок 27).
      SUB DX,+4 ; Сбросить флаг RxRDY, если он случайно взвелся,
      IN AL,DX        ; чтением приемника (исключаем ложный INT).
      MOV AL,01 ; Разрешить установление INT
      INC DX          ; по окончанию приема символа в приемник (то есть,
      OUT DX,AL       ; по флагу RxRDY).
      RET               ;
      Пример 2 —Составить подпрограмму вывода символа из регистра DL в
порт СОМ1.
            Как и в случае с LPТ, прежде, чем вывести символ, надо убедиться
      в готовности устройства. В данном случае, эта готовность выражается в
      том, что передатчик пуст (TxE=1) или пуст буфер передатчика
      (TxRDY=1). В нашем примере устраивает любой вариант.
      MOV DX,3FD ; Читаем
M1: IN AL,DX         ; регистр состояния линии
      AND AL,20 ; и анализируем занятость (RxE=0);
      JZ M1      ; если занято, то снова чтение.
      ADD DX,+5 ; Подготавливаем адрес передатчика
      MOV AL,DL ; и выводим туда
      OUT DX,AL ; байт данных из регистра DL.
      RET             ;

                     16 Программируемый таймер

            Для задания временных интервалов и формирования сигналов с
      различными временными параметрами в IBM PC/XT применяется
      программируемый таймер 8253, в последующих поколениях —8254.
      С точки зрения программиста они идентичны. В состав таймера входят:
      буфер шины данных, схема управления вводом-выводом и три
      независимых канала, каждый из которых содержит регистр режима,
      схему управления каналом, буфер и 16-разрядный счетчик (рисунок 29).
      Счетчики декрементирующие (убывающий счет).
      Каждый счетчик Счi имеет свой адрес:
Имя          А1 А0   РУС таймера – регистр упровляющего слова 3-х счетчиков:
счетчика             разбит на 3 РУС. С помощью РУС любой счетчик можно
Счетчик 0    00      настроить на 6 режимов.
Счетчик 1    01
Счетчик 2    10
РУС          11
таймера
   Каждый счетчик имеет выведенные наружу два входа и один выход:
Сi —вход счетный по переднему фронту (предельная частота 2,5 МГц);
СЕi —разрешение счета, если СЕ=1;
OUTi —выход.

102