Отчет по практике: Микропроцессорные системы
Стремительное совершенствование технологии производства интегральных полупроводниковых компонентов, обеспечившее возможность создания высокоэкономичных цифровых устройств обработки и хранения информации, а также появление эффективных средств программирования оказывают все более существенное влияние не только на развитие техники измерений и управления, но и на подход к автоматизации вообще. Первые попытки применения цифровых устройств для автоматизации производственных процессов относятся к началу 60-х гг., когда были разработаны первые управляющие вычислительные машины. В 70-х гг. ЭВМ стала обычным элементом оборудования автоматизированных систем.
Дальнейшее развитие электронной вычислительной техники привело к ее широкому применению в военном деле, как составной части автоматизированных систем управления войсками и вооружением. Что предопределило повышение требований к квалификации современного командира-инженера, которому необходимо знать основы организации и функционирования универсальных и специализированных управляющих электронных вычислительных машин.
1 ОПЕРАЦИИ ВВОДА/ВЫВОДА В БАЗОВОЙ ВЕРСИИ DOS
Программное прерывание Int 21h – это набор функций, с помощью которых организуется операции ввода/вывода в базовой версии DOS.
1.1 Функции ввода с клавиатуры
аh=01h – Фильтрующий ввод с клавиатуры с ожиданием и эхом на экране.
Пример:
movah, 01
int 21h
Результат функции – в AL находится код символа из буфера клавиатуры.
При вводе функциональных клавиш (F1,…F12, PgUp и др.) необходимо 2 обращения к этой функции. При 1-м AL = 0, при 2-м AL = расширенный код ASCII. В процессе выполнения этой функции проверяется нажатие комбинаций клавиш Ctrl + Break, которая используется для прерывания работы программы, если она зацикливается. По Ctrl + Break можно снять программу, если она использует функции ввода/вывода, содержащие проверку на Ctrl + Break. Такие функции называют фильтрующими.
ah = 08h – Фильтрующий ввод символа с клавиатуры с ожиданием без эха.
Пример:
mov ah, 08h
int 21h
Результат функции – в AL код символа.
Отличается от предыдущей тем, что символ не отображается на экране.
ah = 07h – Не фильтрующий ввод символа с клавиатуры с ожиданием без эха.
Пример:
mov ah, 07h
int 21h
Результат функции – в AL код символа.
Отличается от предыдущей тем, что не реагирует на Ctrl + Break.
аh = 0Вh – Проверить статус ввода (фильтрующая).
Функция проверяет на наличия символа в буфере клавиатуры без извлечения его из буфера.
Пример:
Mov ah, 0Вh
Int 21h
Результат функции – AL = 00h, если буфер пуст, и AL=FFh, если есть символ в буфере клавиатуры.
Пример выхода из программы по нажатию клавиши ESC без ожидания нажатия клавиши.
mov ah, 0bh