Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Абель.docx
Скачиваний:
13
Добавлен:
26.11.2018
Размер:
569.84 Кб
Скачать

Int 10h ;Вызвать bios

Данная функция возвращает в регистре AL значение символа, а в AH - его

атрибут. В графическом режиме функция возвращает шест.00 для не

ASCII-кодов. Так как эта функция читает только один cимвол, то для

символьной строки необходима организация цикла.

AH=09: Вывод атрибута/символа в текущую позицию курсора. Для вывода

на экран символов в текстовом или графическом режиме с установкой мигания,

инвертирования и т.д. можно воспользоваться следующими командами:

MOV AH,09 ;Функция вывода

MOV AL,символ ;Выводимый символ

MOV BH,страница ;Номер страницы (текст.реж.)

MOV BL,атрибут ;Атрибут или цвет

MOV CX,повторение ;Число повторений символа

Int 10h ;Вызвать bios

В регистр AL должен быть помещен выводимый на экран символ. Значение в

регистре CX определяет число повторений символа на экране. Вывод на экран

последовательности различных символов требует организации цикла. Данная

функция не перемещает курсор. В следующем примере на экран выводится пять

мигающих "сердечек" в инвертированном виде:

MOV AH,09 ;Функция вывода

MOV AL,03H ;Черви (карточная масть)

MOV BH,00 ;Страница 0 (текст. режим)

MOV BL,0F0H ;Мигание, инверсия

MOV CX,05 ;Пять раз

Int 10h ;Вызвать bios

В текстовом (но не в графическом) режиме символы автоматически

выводятся на экран и переходят с одной строки на другую. Для вывода на

экран текста запроса или сообщения необходимо составить программу, которая

устанавливает в регистре CX значение 01 и в цикле загружает в регистр AL

из памяти выводимые символы текста. Так как регистр CX в данном случае

занят, то нельзя использовать команду LOOP. Кроме того, при выводе каждого

символа необходимо дополнительно продвигать курсор в следующий столбец

(функция 02).

В графическом режиме регистр BL используется для определения цвета

графики. Если бит 7 равен 0, то заданный цвет заменяет текущий цвет точки,

если бит 7 равен 1, то происходит комбинация цветов с помощью команды XOR.

AH=0A: Вывод символа в текущую позицию курсора. Единственная разница

между функциями 0A и 09 состоит в том, что функция 0A не устанавливает

атрибут:

MOV AH,0AH ;Функция вывода

MOV AL,символ ;Выводимый символ

MOV BH,страница ;Номер страницы (для текста)

MOV CX,повторение ;Число повторений символа

Int 10h ;Вызвать bios

Для большинства применений команда прерывания DOS INT 21H более

удобна.

AH=0E: Вывод в режиме телетайпа. Данная функция позволяет

использовать монитор, как простой терминал. Для выполнения этой функции

необходимо установить в регистре AH шест. значение 0E, в pегистр AL

поместить выводимый символ, цвет текста (в графическом режиме) занести в

регистр BL и номер страницы для текстового режима - в регистр BH. Звуковой

сигнал (код 07H), возврат на одну позицию (08H), конец строки (0AH) и

возврат каретки (0DH) действуют, как команды для форматизации экрана.

Данная функция автоматически продвигает курсор, переводит символы на

следующую cтроку, выполняет прокрутку экрана и сохраняет текущие атрибуты

экрана.

AH=0F: Получение текущего видео режима. Данная функция возвращает в

регистре AL текущий видео режим (см.функцию AH=00), в pегистре AH - число

символов в строке (20, 40 или 80), в регистре BH - номер страницы.

AH=13: Вывод символьной строки (только для AT). Данная функция

позволяет на компьютерах типа AT выводить на экран символьные строки с

установкой атрибутов и перемещением курсора:

MOV AH,13H ;Функция вывода на экран

MOV AL,сервис ;0, 1, 2 или 3

MOV BH,страница ;

LEA BP,адрес ;Адрес строки в ES:BP

MOV CX,длина ;Длина строки

MOV DX,экран ;Координаты на экране