Отчет по практике: Микропроцессорные системы
Тогда Actlen =6
‘С’ | ‘Т’ | ‘Р’ | ‘О’ | ‘К’ | ‘А’ | 0Dh(Код Enter) |
S=
Если набрана строка – 123 Enter
Тогда Actlen = 3
‘1’ | ‘2’ | ‘3’ | 0Dh(Код Enter) |
S=
Если набранная строка – Строка - Enter
Тогда Actlen = 0
0Dh | X | X | X | X | X |
S =
1.2 Функции вывода на экран
Ah=02h – Вывод символа на дисплей (фильтрующая)
Пример
movah, 02
movdl, 35hили dl, ‘5’
int21h
В регистр dl помещается ASCII-код символа или указывается непосредственно сам символ в кавычках. Функция выводит символ на экран в текущую позицию курсора и перемещает курсор вправо на одну позицию. На символ BackSpace перемещает курсор влево на одну позицию. Функция реагирует на вывод управляющих кодов 07h(звонок), 08h(BackSpace), 09h(Tab), 0Ah(lf), 0Dh(cr).
ah=09h – Вывод строки.
Пример:
Msg db 13,10эPress and key…$’
mov ah, 09h
lea dx, Msg
int21h
В регистр dx помещается адрес выводимой строки, которая должна быть предварительно описана в сегменте данных, при этом в конце строки обязательно нужно указать символ $ (конец строки). 13 и 10 – это ASCII-коды символов возврата каретки и перевода строки, которые указываются для вывода строки в первую позицию новой строки экрана. Действие функции полностью аналогично функции 02h, но выводится не один символ, а целая строка.
1.3 Сервис клавиатуры BIOS - Int 16 h
Клавиши Alt, Ctrl левый и правый Shift называются клавишами сдвига. При нажатии такой клавиши соответствующий бит байта состояния клавиатуры устанавливается в 1, а при отпускании сбрасывается в 0. Клавиши Insert, Caps Lock, Scroll Lock, Num Lock называютсяклавишамирежимов. При первом нажатии такой клавиши в соответствующий бит байта состояния клавиатуры записывается 1 (Режим установлен), при следующем – 0 и т.д. Нажатие клавиши сдвига или режима не изменяет содержимого буфера клавиатуры. Они обеспечивают расширение возможности управления ЭВМ в различных программных системах.
Назначение бит регистра флагов клавиатуры следующее:
7 6 5 4 3 2 1 0
Insert | Caps Lock | Num Lock | Scroll Lock | Alt | Ctrl | Shift левый | Shift правый |
Клавиши режимов Состояния клавиш сдвигов
Для чтения данного регистра флагов используется функция 02h прерывания BIOSInt 16h.
ah=02h – Читать байт флагов клавиатуры (статус флагов клавиатуры).
Пример: