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

Функция 09н прерывания int10н: вывод том символа и атрибутов в положение курсора

Эта операция выводит заданное число символов с указанными атрибутами в текстовом или графическом режимах. Положение курсора определяет место вы вода символа. Для выполнения функции задайте следующие значения в регистрах.

Число в регистре СХ определяет, сколько раз должна повториться операция вывода символа из AL. В следующем примере в текстовом режиме выводятся 60 «улыбающихся лиц» (ASCII01H) с установленными атрибутами:

Операция не перемещает курсор и не реагирует на символы звукового сигнала, перевода строки, возврата каретки и табуляции; вместо этого она попытается вывести их как символы ASCII. Если в текстовом режиме вывод достигает крайнего правого символа, вывод продолжится со столбца 00 в следующей строке.

В графическом режиме ВLопределяет цвет символов. Если бит 7 равен 0, определенный цвет заменяет текущий; если бит 7 равен 1, определенный цвет сочетается (операцияXOR) с текущим.

В следующем примере выводятся десять сердечек (0ЗН) в графическом режиме:

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

Функция 0ан прерывания int10н: вывод символа в положение курсора

Единственное различие между этой функцией и функцией 09Н состоит в том, что функция 0АН не устанавливает атрибуты, а использует их текущее значение. Вот пример ее использования:

Операция ничего не возвращает.

Функция 0ВН прерывания INT10Н: установить цветовую палитру

Эта функция используется для установки цветовой палитры в графическом режиме. Значение в регистре ВН (00 или 01) определяет смысл значения в BL:

Операция сохраняет значение цвета в регистре выбора цвета и изменяет значение палитры в области видеоданных BIOSпо адресу 40:[66].

Как только палитра выбрана, она сохраняет свое значение, но при изменении палитры весь экран перерисовывается в соответствии с выбранными цветами.

Функция 0СН прерывания INT10Н: нарисовать пиксель

Функция 0СН используется для рисования пикселя выбранным цветом (фоновым и палитры) в графическом режиме. Загрузите в регистры значения:

Минимальный номер столбца или строки — 0, максимальный — зависит от выбранного видеорежима. В следующем примере пиксель рисуется на пересечении строки 50 и столбца 200:

Функция 0DHпрерыванияINT10Н: прочитать пиксель

Эта операция, обратная по действию операции 0СН, считывает точку для определения ее цвета. Установите номер страницы в BH, столбец в СХ и строку вDX. Минимальный номер столбца или строки — 0, максимальный номер зависит от выбранного видеорежима:

Функция 0ЕН прерывания INT10Н: вывод в режиме телетайпа

Эта операция позволяет использовать монитор в качестве простого терминала для вывода текста и графики. Вот пример ее вызова:

Символы Backspace(08Н), возврата каретки (00Н), перевода строки (0АН) воспринимаются как команды управления выводом, но табуляция (09Н) не воспринимается. Операция автоматически перемещает курсор, переносит символы на следующую строку, прокручивает экран и сохраняет текущие атрибуты экрана. Операция значений не возвращает.

Функция 0FН прерыванияINT10Н: получить текущий видеорежим

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

Программа: вывод на экран таблицы А8СII

Программа, приведенная на рис. 8.1, использовала функцию 09Н прерывания INT21Н для вывода набора символовASCII, но пропускала управляющие символыBackspaceзвукового сигнала, возврата каретки и перевода строки. Улучшенная программа, приведенная на рис. 9.2, использует прерываниеINT10Н для вывода полной таблицы символов с помощью следующих функций

0FH: получение и сохранение текущего видеорежима;

00H: установка видеорежима 0З для этой программы и восстановление исходного видеорежима при завершении выполнения;

08Н: считывание атрибута в текущей позиции курсора для использования функцией 06Н;

06Н: прокрутка экрана вверх для очистки всего экрана с использованием только что прочитанных атрибутов, а также создание 16-строчного окна для вывода таблицы с символами коричневого цвета и синим фоном;

02Н: установка курсора в начале вывода и перемещение его при выводе каждого следующего символа;

0АН: вывод каждого символа, включая управляющие, в текущей позиции курсора.

Соседние файлы в папке Лекции