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

UptoLike

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

07h 16.0 12h 6.0 1Dh 2.3
08h 15.0 13h 5.5 1Eh 2.1
09h 13.3 14h 5.0 1Fh 2.0
0Ah 12.0 15h 4.6
2) Синтез data 2:
D7 D6 D5 D4 D3 D2 D1 D0
┌─┬─┬─┬─┬─┬─┬─┬─┐
X X X X X
└─┴─┴─┴─┴─┴─┴─┴─┘
D0
: 1включить ScrollLock
D1
: 1включить NumLock
D2:
1включить CapsLock
Ниже представлены команды управления процессором
клавиатурного интерфейса Intel-8042.
Таблица 20 —Команды управления Intel-8042 (порт 64h)
Код команды Описание
DF Разрешить 20-битовую адресацию.
DD Запретить 20-битовую адресацию.
D1 Запись в порт вывода 8042.
D0 Чтение порта вывода 8042.
C0 Чтение порта ввода 8042.
AE
Разрешение клавиатуры.
AD Запрещение клавиатуры.
AC Чтение ОЗУ контроллера.
AB Тест синхронизации и данных.
Рассмотрим несколько примеров.
Пример 1 —Включить индикатор Lock».
Используя синтез data 2, составляем следующую подпрограмму:
CLI ; Запретить прерывания (из-за клавиатуры).
CALL WAIT ; Готова ли клавиатура?
MOV AL,ED ; Выдать команду управления
OUT 60,AL ; индикаторами.
CALL WAIT ; Готова ли клавиатура?
MOV AL,02 ; Если готова, то выставить второй
OUT 60,AL ; байт команды: включение Num Lock (D1=1).
STI ; Снять запрет с прерываний
111
            07h     16.0     12h     6.0     1Dh     2.3
            08h     15.0     13h     5.5     1Eh     2.1
            09h     13.3     14h     5.0     1Fh     2.0
            0Ah     12.0     15h     4.6

    2) Синтез data 2:

   D7 D6 D5 D4 D3 D2 D1 D0
  ┌─┬─┬─┬─┬─┬─┬─┬─┐
   X X X X X
  └─┴─┴─┴─┴─┴─┴─┴─┘
              │ │ └ D0: 1 — включить ScrollLock
              │ └ D1: 1 — включить NumLock
              └ D2: 1 — включить CapsLock

     Ниже представлены команды управления процессором
клавиатурного интерфейса Intel-8042.

         Таблица 20 —Команды управления Intel-8042 (порт 64h)
          Код команды             Описание
               DF     Разрешить 20-битовую адресацию.
               DD      Запретить 20-битовую адресацию.
               D1         Запись в порт вывода 8042.
               D0         Чтение порта вывода 8042.
               C0          Чтение порта ввода 8042.
               AE      Разрешение клавиатуры.
               AD      Запрещение клавиатуры.
               AC      Чтение ОЗУ контроллера.
               AB      Тест синхронизации и данных.

    Рассмотрим несколько примеров.
    Пример 1 —Включить индикатор Lock».
    Используя синтез data 2, составляем следующую подпрограмму:


         CLI               ; Запретить прерывания (из-за клавиатуры).
         CALL WAIT      ; Готова ли клавиатура?
         MOV AL,ED      ; Выдать команду управления
         OUT 60,AL      ; индикаторами.
         CALL WAIT      ; Готова ли клавиатура?
         MOV AL,02      ; Если готова, то выставить второй
         OUT 60,AL      ; байт команды: включение Num Lock (D1=1).
         STI            ; Снять запрет с прерываний

                                                                    111