Встановити положення курсору
Введення: АН = 02
ВН = номер сторінки
DH = рядок
DL = стовпець
За допомогою цієї функції можна встановити курсор в будь-яку позицію екрана, і подальше виведення тексту буде відбуватися з цієї позиції. Відлік номери рядка і стовпця ведеться від верхнього лівого кута екрана (символ в лівій верхній позиції має координати 0, 0). Номери сторінок 0 - 3 (для режимів 2 і 3) і 0 - 7 (для режимів 1 і 2) відповідають області пам'яті, вміст якої в даний момент відображається на екрані. Можна вивести текст в неактивну зараз сторінку, а потім переключитися на неї, щоб зображення змінилося миттєво.
Вважати положення і розмір курсору
Введення: АН = 03
ВН = номер сторінки
Висновок: DH, DL = рядок і стовпець поточної позиції курсора
СН, CL = перша і остання рядки курсора
Повертає поточний стан курсору на обраній сторінці (кожна сторінка використовує власний незалежний курсор).
Висновок символів на екран
Кожен символ на екрані описується двома байтами - ASCII-кодом символу і байтом атрибуту, що вказує колір символу і фону, а також чи є символ миготливим.
Кольори кодуються способом (перше значення для звичайного кольору, друге - для яскравого):
- 000b - чорний (темно-сірий),
- 001b - синій (світло-синій),
- 010b - зелений (світло-зелений),
- 011b - блакитний (світло-блакитний),
- 100b - червоний (світло-червоний),
- 101b - пурпурний (світло-пурпурний),
- 110b - коричневий (жовтий),
- 111b - світло-сірий (білий).
Зверніть увагу на те, що кольори відповідають шкалою RGB.
Вважати символ і атрибут символу в поточній позиції курсору
Введення: АН = 08
ВН = номер сторінки
Висновок: АН = атрибут символу
AL = ASCII-код символу.
Вивести символ із заданим атрибутом на екран
Введення: АН = 09
ВН = номер сторінки
AL = ASCII-код символу
BL = атрибут символу
СХ = число повторень символу.
За допомогою цієї функції можна вивести на екран будь-який символ, включаючи навіть символи CR і LF, які зазвичай інтерпретуються як кінець рядка. У графічних режимах СГ не повинен перевищувати число позицій, що залишився до правого краю екрану.
Вивести символ з поточним атрибутом на екран. тобто з атрибутом символу, що знаходиться раніше в цій позиції.
Введення: АН = 0Ah
ВН = номер сторінки
AL = ASCII-код символу
СХ = число повторень символу.
Вивести символ в режимі телетайпа
Введення: АН = 0Eh
ВН = номер сторінки
AL = ASCII-код символу
Вивести рядок символів з заданими атрибутами
Введення: АН = 13h
AL = режим виводу:
Завдання. 4.1. Створіть com-файл (або файли), в якому повинні використовуватися всі зазначені функції.
Завдання. 4.2. Намалюйте «різнокольорову пику» - очі в вигляді нуликів, рот з тире і т.д.
Завдання. 4.3. Використовуючи функції BIOS виведіть всі 256 символів таблиці ASCII по 16 символів в кожному рядку.
Для цього використовуйте наступний код, орієнтований на NASM:
Звернемо увагу на те, що керуючі символи теж виведені.
Завдання. 4.4. Модифікуйте програму так, щоб вона видавала українські літери червоним кольором, а цифри - зеленим.
При підготовці матеріалу використана книга С.В.Зубкова «Assembler. Мова необмежених можливостей ».
пов'язані статті
- Висновок на екран в текстовому режимі засобами MS-DOS
- Висновок на екран в графічному режимі засобами NASM
- Знайомство з асемблером на прикладі NASM. Висновок на екран в текстовому режимі
- Far Manager
- Архітектура ЕОМ. ЛР№1. Внутрішні команди MS-DOS