Студопедия — Прерывание int 10h. Видеофункции BIOS
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Прерывание int 10h. Видеофункции BIOS






¨ Функция 00h. Установка видеорежима (табл. 3.2) текущей видеостраницы с очисткой экрана (быстрая очистка экрана реализуется функцией 06h и 07h).

Вызов: AH = 00h,

Al = видеорежим (код режима задаётся в младших 7 битах, установка в 1 старшего бита запрещает очистку экрана).

Вызов разрушает регистры AX, BP, SI, и DI.

Таблица 3.2

Текстовые видеорежимы и страницы в стандарте VGA, поддерживаемые
современными видеоконтроллерами

Режим Тип Разрешение Цвет Размер знака Адрес Страницы
  text 40x25 полутонов 9x16 B8000 0 – 7
  text 40x25 16/8 9x16 B8000 0 – 7
  text 80x25 полутонов 9x16 B8000 0 – 7
  text 80x25 16/8 9x16 B8000 0 – 7
  graphic 640x200 / 80x25   8x8 B8000  
  text 80x25 3 (Mono) 9x16 B0000  
10h graphic 640x350 / 80x25 4 или 16 8x14 A0000 0 – 1
11h graphic 640x480 / 80x30 2 (Mono) 8x16 A0000  
12h graphic 640x480 / 80x30   8x16 A0000  
13h graphic 640x480 / 80x30   8x8 A0000  

 

По умолчанию в DOS используется режим 3 (впрочем, корректно оформленная программа должна выполнять проверку или установку требуемого текстового режима с последующим восстановлением прежнего).

¨ Функция 02h. Установка позиции курсора.

Задаёт положение курсора на экране в текстовых координатах, с которых в дальнейшем будет выводиться текст. Отсчёт номера строки и столбца ведётся от верхнего левого угла. Курсор можно установить как в текстовом, так и в графическом режиме, однако, в графическом режиме курсор не виден. BIOS поддерживает до восьми независимых курсоров – по одному на каждую страницу (см. табл. 3.2) независимо от того, какая страница является активной. Функцию 02h BIOS можно использовать в комбинации с функциями DOS для организации вывода на экран.

Вызов: AH = 02h; BH = номер страницы (0, 1,...7), обычно 0;

DH = строка; DL = столбец.

Вызов разрушает регистры AX, BP, SI и DI.

¨ Функция 03h. Считывание позиции и размера курсора.

Возвращает текущие координаты состояния курсора на выбранной странице. Это даёт возможность временно перейти для работы на другое место экрана, а затем вернуться на старое место. Функцию 03h BIOS можно использовать в комбинации с функциями DOS для организации вывода на экран.

Вызов: AH = 03h, BH = номер страницы (0, 1,...7), обычно 0.

Возврат: DH, DL = строка и столбец текущей позиции курсора,

CH, CL = первая и последняя строки развёртки курсора.

Вызов разрушает регистры AX, BP, SI и DI.

 

¨ Функция 05h. Установка видеостраницы.

Устанавливает активную видеостраницу (как текстовую, так и графическую).

Вызов: AH= 05h, AL= номер страницы (0,..., 7).

Вызов разрушает регистры AX, BP, SI и DI.

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

¨ Функция 06h (07h). Инициализация или прокрутка окна вверх (вниз).

Инициализирует окно с указанными координатами, пробелами ASCII с заданным атрибутом (AL = 0), или прокручивает содержимое окна вверх (вниз) на заданное число строк (AL = число строк). При прокрутке появляющиеся снизу (сверху) строки заполняются пробелами ASCII с заданным атрибутом. Функцию удобно использовать для быстрой очистки экрана или некоторого прямоугольного окна.

Вызов: AH = 06h(07h);

AL = 0 – очистка, AL = N (N > 0) – прокрутка на N строк;

BH = атрибут символов в окне;

CH, CL = координаты строки и столбца (Y, X) левого верхнего угла;

DH, DL = координаты строки и столбца (Y, X) правого нижнего угла.

Вызов разрушает регистры AX, BP, SI, и DI.

¨ Функция 08h. Чтение символа и атрибута в текущей позиции курсора на выбранной странице.

Вызов: AH = 08h, BH = номер страницы (0,..., 7), обычно 0.

Возврат: AH = атрибут символа, AL = ASCII- код символа.

Вызов разрушает регистры BP, SI и DI.

¨ Функция 09h. Запись символа с заданным атрибутом на экран в позицию курсора. Действует как в графическом, так и в текстовом режимах. В графическом режиме символы не должны переходить на следующую строку. Все коды в AL рассматриваются как символьные и не управляют положением курсора. После вывода символа курсор смещается к следующей позиции функцией 02h. Коэффициент повторения позволяет выводить строки одинаковых символов. В текстовом режиме символ выводится с указанным в BL атрибутом. В графическом – содержимое BL влияет только на цвет символа, но не на фон под ним. Графическое изображение под знакоместом затирается.

Вызов: AH =09h, AL = ASCII -код символа,

BL = атрибут символа (текстовый режим) или только цвет символа (графический режим),

BH = номер страницы (0, 1,...7), CX = коэффициент повторения.

Вызов разрушает регистры AX, BP, SI и DI.

¨ Функция 0Ah. Запись символа с текущим атрибутом на экран в позицию курсора. Функция действует как в графическом, так и в текстовом режимах. Символ принимает атрибут, установленный ранее для этой позиции. Все ASCII-коды в AL рассматриваются как символьные и не управляют положением курсора (также как и в функции 09h). После вывода символа курсор смещается к следующей позиции функцией 02h.

Вызов: AH = 0Ah, AL = ASCII -код символа,

BH = номер страницы (0, 1,...7), CX = коэффициент повторения.

Вызов разрушает регистры AX, BP, SI и DI.

¨ Функция 0Eh. Запись символа с текущим атрибутом в режиме телетайпа.

Записывает символ ASCII в позицию курсора (предварительно установленную функцией 02h) на активной странице и смещает курсор к следующей позиции. Коды ASCII: 07h – звонок (BEL), 08h – шаг назад (BS), 0Dh – возврат каретки (CR), 0Ah – перевод строки (LF), рассматриваются как управляющие и выполняются соответствующие им действия. Остальные управляющие коды рассматриваются как символы и выводятся на экран. Действует автоматический перевод курсора на следующую строку после завершения предыдущей, а также прокрутка экрана вверх на 1 строку после заполнения самой нижней.

Вызов: AH = 0Eh, AL = ASCII -код символа,

BL = цвет символа (только для графического режима),

BH = номер страницы (0, 1,...7), по умолчанию действует активная страница.

¨ Функция 0Fh. Получить режим дисплея и номер текущей страницы.

Вызов: AH = 0Fh.

Возврат: AL = режим дисплея, AH = ширина экрана в текстовом формате

BH = номер активной страницы.

Вызов разрушает регистры BP, SI и DI.

Пример. Процедура установки позиции курсора на текущей странице.

Вход: dh = строка (0 – 25), dl = столбец (0 – 79)

Proc SetCursor

.......; Сохранить регистры (по необходимости)

Mov ah, 0Fh

Int 10h

Mov ah, 02h

Int 10h

..........; Восстановить регистры

Endp SetCursor

¨ Функция 10h. Подфункция 03h. Переключение бита " мерцание/яркость".

Определяет назначение старшего бита 7 атрибута символа: мерцание символа или повышенная яркость фона.

Вызов: AX = 1003h, BL = назначение 7-го бита атрибута:

0 – повышенная яркость, 1 – мерцание (устанавливается по умолчанию).

Функция воздействует сразу на все символы экрана, у которых установлен старший бит атрибута фона.

¨ Функция 13h. Запись строки символов с заданными атрибутами.

Записывает строку в текущую страницу видеобуфера, начиная с указанной позиции. Коды ASCII: 07h – звонок, 08h – шаг назад, 0Ah – перевод строки,
0Dh – возврат каретки, рассматриваются как управляющие, остальные – как символьные.

Вызов: AH = 13h, AL = режим записи:

0 – атрибут символа в BL, строка содержит только коды символов, после записи курсор принимает исходное положение (т.е. вывод следующей строки, если не изменить позицию курсора, начинается с изначально установленной позиции);

1 – отличается от режима 0 тем, что после записи курсор остаётся в конце строки;

2 – строка содержит попеременно коды символов и атрибутов (т.е. каждый символ описывается 2 байтами – ASCII -кодом и атрибутом), после записи курсор принимает исходное положение;

3 – отличается от режима 2 тем, что по окончании вывода курсор остаётся в конце строки.

BH = номер страницы (0, 1,...7), BL = атрибут для режимов 0 и 1,

CX = длина символьной строки (в длину входят только коды символов, но не байты атрибутов),

DX = DH.DL = координаты курсора (строка, столбец) в исходной точке вывода строки на экране,

ES: BP = адрес начала строки в памяти.

Обратите внимание на особенность задания адреса!







Дата добавления: 2014-11-10; просмотров: 3380. Нарушение авторских прав; Мы поможем в написании вашей работы!



Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

Понятие и структура педагогической техники Педагогическая техника представляет собой важнейший инструмент педагогической технологии, поскольку обеспечивает учителю и воспитателю возможность добиться гармонии между содержанием профессиональной деятельности и ее внешним проявлением...

Репродуктивное здоровье, как составляющая часть здоровья человека и общества   Репродуктивное здоровье – это состояние полного физического, умственного и социального благополучия при отсутствии заболеваний репродуктивной системы на всех этапах жизни человека...

Случайной величины Плотностью распределения вероятностей непрерывной случайной величины Х называют функцию f(x) – первую производную от функции распределения F(x): Понятие плотность распределения вероятностей случайной величины Х для дискретной величины неприменима...

Вопрос 1. Коллективные средства защиты: вентиляция, освещение, защита от шума и вибрации Коллективные средства защиты: вентиляция, освещение, защита от шума и вибрации К коллективным средствам защиты относятся: вентиляция, отопление, освещение, защита от шума и вибрации...

Задержки и неисправности пистолета Макарова 1.Что может произойти при стрельбе из пистолета, если загрязнятся пазы на рамке...

Вопрос. Отличие деятельности человека от поведения животных главные отличия деятельности человека от активности животных сводятся к следующему: 1...

Studopedia.info - Студопедия - 2014-2024 год . (0.035 сек.) русская версия | украинская версия