Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Вивід на екран засобами BIOS




Функції BIOS володіють великими можливостями і широко використовуються в прикладних програмах для утворення кольорових інформаційних кадрів, переключання відеорежимів, завантаження шрифтів користувача і інші дії з відеосистемою. Їх недостаток в порівнянні з функціями DOS являється відносна величина використання. Функції використовуються при роботі в текстовому режимі, які перечислені в табл. 1.4.

Функція 02h дозволяє встановити позицію текстового курсору, задаючи його розміщення у вигляді номера рядка (0...24) і номера стовпчика (0...79). BIOS підтримує 8 незалежних курсорів – по одному на кожну відеосторінку, причому функція 02h встановлює позицію курсору незалежно від того, яка сторінка являється активною.

Функція 03h дозволяє отримати і зберегти текуче положення курсору. Це дає можливість перейти тимчасово в інше місце екрана, сформувати екран зображення, а потім вернутися на старе місце.

 

Таблиця 1.4. Основні функції BIOS для роботи в текстовім режимі

Функція Призначення
02h Установка позиції курсору
03h Зчитування позиції курсору
05h Установка відеосторінки
06h Ініціалізація або прокрутка вікна вгору
07h Ініціалізація або прокрутка вікна вниз
08h Читання символу і атрибута в поточній позиції курсору
09h Запис символу із заданим атрибутом на екран в позицію курсору
0Ah Запис символу з поточним атрибутом на екран в позицію курсору
0Eh Запис символу з поточним атрибутом а режимі телетайпу
1003h Перемикання біта „мерехтіння/яскравість”
13h Запис стрічки символів із заданими атрибутами

 

Функція 05h переключає відеосторінку. Якщо відеосистема знаходиться в текстовому режимі, то переключається текстові сторінки (0...7), якщо встановлений графічний режим, то переключається графічні сторінки (0...1).

Більша частина описаних нижче функцій виводу на екран дозволяє формувати зображення на будь-якій відеосторінці, як на активній, так і на скритій. Це дає можливість або підготовити завідома декілька сторінок і в міру необхідності швидко їх переключати або, коли поки одна сторінка виводиться на екран, готовити зображення на наступній.

За допомогою функцій 06h і 07h в заданому місці екрана дисплея створюються кольорові прямокутні вікна заданих розмірів. Якщо в створених завідома вікнах є виділений будь-який текст, то з допомогою цих функцій можна прокручувати текст вверх або вниз. При цьому текст, який виходить за край вікна, пропадає, а із протилежного краю появляється пусті рядки із заданими атрибутами кольорів. Для заповнення рядків текстом потрібно використати відповідні функції BIOS, при чому контроль розміщення, довжини і кольору стрічки покладається на програміста. Програми BIOS тільки прокручують задану прямокутну область екрану (разом з текстом в ній).

Функції 09h, 0Ah, 0Eh і 13h служать для виводу на екран окремих символів і символьних стрічок (в циклі). Функцій 09h і 0Ah не виконують фільтрації символів, тому за їх допомогою можна виводити усі символи кодової сторінки. Передбачений вивід одного і того ж символу задане число раз, що можна використати при створенні рамок і орнаментів. Вивід символу не переміщує курсору, тому кожний раз перед використанням функції 09h або 0Ah треба задати позицію курсору з допомогою функції 02h. Відмінність функцій 09h і 0Ah заключається в тому, що перша дозволяє вивести символ з любим атрибутом, а друга використовує попередній атрибут тої позиції, куди виводиться символ.

Функція 0Eh фільтрує управляючі коди 07h (сигнал звуку), 08h (крок назад), 10h (перевід стрічки) і 13h (повернення каретки), яка виконує відповідні їм дії. Курсор переміщується після виводу кожного символу, що дає можливість виводити цілі стрічки. Однак атрибут символу встановити не можна, символ набуває попередній атрибут тої позиції, де він виводиться. При необхідності виводу символу з новим атрибутом потрібно спочатку вивести в задану позицію символ пробілу з потрібним атрибутом (функцією 09h), а пізніше там же послати символ з допомогою функції 0Eh.

Важливою властивістю функції 0Eh являється автоматичний перехід на наступну стрічку після завершення попередньої, а також прокрутка екрана вверх на одну стрічку після заповнення найнижчої стрічки.

Функція 13h призначена для виводу стрічок із вказанням атрибутів, як кожного символу окремо, так і всієї стрічки. Функція може виконуватись в чотирьох варіантах в залежності від коду режиму, який вказується в регістрі AL, в режимах 0 і 1 атрибут символів вказується зразу для всієї стрічки в регістрі BL, причому в режимі 0 курсор не зміщується в процесі виводу, а в режимі 1 – зміщується на довжину стрічки. В режимах 2 і 3 атрибути символів включаються у виведену стрічку, в якій, таким чином, дозволяє встановлювати атрибути для кожного символу незалежно. Режим 2 відрізняються від режиму 3 тим, що в першому випадку курсор не зміщується, а, по-друге, зміщуеться на довжину стрічки.

При виклику функції 13h в регістрі DX задаються координати початку стрічки, яку виводиться (в DH – стрічка екрана, і в DL - стовпчик), а в регістрі CX – довжина стрічки, яка в режимах 2 і 3 оказується за рахунок байтів з атрибутом в два рази більше довжини стрічки, яка реально появляється на екрані. Адрес стрічки, яка виводиться, повинен бути поміщеним в регістрі ES:BP.

Функція 13h виводить не всі символи, так як коди 07h, 08h 0Ah і 0Dh розглядаються як керуючі.

При виводі на екран засобами BIOS необхідно знати, що ввід з клавіатури Ctrl+c не приводить до завершення програми. Потрібно остерігатися безкінечних циклів виводу на екран; вихід із них можливий лише шляхом перезавантаження комп’ютера.

Підфункція 03h функції 10h (переривання 10h), на відміну від описаних вище функцій виводу символів і стрічок, діє зразу на весь екран і впливає на зображення тих символів, у яких встановлений старший біт атрибута фону. Функція дозволяє або приписати цей біт яскравості фону, що дає можливість виводити на екран 16 кольорів фону, або назначити його атрибут мерехтіння символу. В останньому випадку колір фону може приймати тільки 8 значень.

 




Поделиться с друзьями:


Дата добавления: 2015-08-31; Просмотров: 707; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.