Главная · Поиск книг · Поступления книг · Top 40 · Форумы · Ссылки · Читатели

Настройка текста
Перенос строк


    Прохождения игр    
Demon's Souls |#13| Storm King
Demon's Souls |#12| Old Monk & Old Hero
Demon's Souls |#11| Мaneater part 2
Demon's Souls |#10| Мaneater (part 1)

Другие игры...


liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня
Rambler's Top100
Образование - Питер Абель Весь текст 992.61 Kb

Ассемблер и программирование для IBM PC

Предыдущая страница Следующая страница
1 ... 22 23 24 25 26 27 28  29 30 31 32 33 34 35 ... 85
регистр AL и скэн-код клавиши в регистр AH.


     ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
     ________________________________________________________________

     9.1. Определите атрибуты экрана для а) мигания с  подчеркиванием,  б)
нормальной яркости, в) инвертирования с выделением яркостью.

     9.2. Составьте   процедуры   для   а)   установки  режима  экрана  BW
(черно-белый) на 80 столбцов,  б) установки вида курсора, начинающегося на
5  линии сканирования и заканчивающегося на 12 линии,  в) прокрутки экрана
на 10 строк,  г) вывода десяти мигающих  символов  штриховки  с  половиной
точек (шест. B1).

     9.3. Напишите скэн-коды для  следующих  функциональных  клавишей:  а)
стрелка вверх, б) клавиша F3, в) Home, г) PgUp.

     9.4. Используя отладчик DEBUG,  проверьте воздействие  на  содержимое
регистра  AX  при  нажатии клавишей на клавиатуре.  Для ввода ассемблерных
команд используйте команду A 100 (Return). Ведите следующие команды:

               MOV  AH,00
               INT  16H
               JMP  100

Используя команду U 100,104, дисассемблируйте программу и с помощью G  104
выполните  команды  MOV  и  INT.  На  команде  INT  выполнение   программы
остановиться и система перейдет в  ожидание  вашего  ввода.  Для  проверки
регистра AH нажмите любую клавишу.  Продолжая вводить команду  G  104,  и,
нажимая различные клавиши, проверьте работу программы.  Для выхода введите
команду Q.

     9.5. Составьте  команды для определения нажатия клавиши:  если нажата
клавиша PgDn, то необходимо установить курсор по координатам - строка 24 и
столбец 0.




ГЛАВА 10                             Экранные операции III: Цвет и графика
__________________________________________________________________________

     Ц е л ь: Показать расширенные  возможности  компьютера,  связанные  с
использованием цвета и графики на экране.


     ВВЕДЕНИЕ
     ________________________________________________________________

     Данная  глава  знакомит  с  использованием  цвета  для  текстового  и
графического режимов.  Существуют  следующие  три  типа  видео  монитоpов,
используемые  для  изображения  цветной  графики  (в  порядке  возpастания
стоимости и качества):

          1. Немодифицированный цветной  телевизионный  приемник  (обычный
     домашний телевизор), применяемый многими для своих компьютеров.
          2. Комбинированный видеомонитор, принимающий цветовой сигнал без
     радиочастотной модуляции, и используемый для передачи по радиоволнам.
     Обеспечивает высокое качество изображения.
          3. RGB-монитор, посылающий входные  сигналы  на  три  раздельные
     электронные пушки - красную, зеленую и  синюю  для  каждого  из  трех
     основных цветов.  Являясь наиболее дорогим, RGB-монитор  обеспечивает
     наилучшее качество изображения.

     Стандартный  адаптер  для  цветного  графического  монитора  (CGA   -
Color/Graphics Adapter) использует 16К байт памяти, начинающейся по адресу
шест.B8000, 8К байт - для символов и 8К байт для их атрибутов.  При работе
в формате 80х25 адаптер может хранить четыре  страницы  (0-3)  дисплейного
буфера по 4К байт каждая. При работе в формате 40х25 адаптер может хранить
восемь страниц (0-7) по 2К байт каждая.  По умолчанию используется нулевая
страница (в начале дисплейной памяти).  Программа может вывести  на  экран
любую страницу и в это время формировать  другую  страницу  в  памяти  для
последующего вывода на экран.
     Усовершенствованный графический  адаптер  (EGA  -  Enhanced  Graphics
Adapter) обеспечивает более высокую разрешающую способность, по  сравнению
со стандартным цветным адаптером (CGA) и в  большинстве  случаев  является
совместимым с ним. Разрешающая способность обеспечивает 320х200, 640х200 и
640х350 точек на экране.
     Цветные  адаптеры  имеют  два  основных  режима  работы:    текстовой
(алфавитно-цифровой) и графический, и возможны также дополнительные режимы
между  двумя  основными.  По  умолчанию  используется  текстовой    режим.
Установка режима описана в главе 9 в разделе  "Преpывание  BIOS  INT  10H"
(AH=0).  Для установки графического режима или возврата в текстовой  режим
используется прерывание BIOS INT 10H, как это показано  в  двух  следующих
примерах:
               MOV  AH,00  ;Режим       MOV  AH,00  ;Режим
               MOV  AL,03  ;Цвет+текст  MOV  AL,04  ;Графика среднего
               INT  10H                 INT 10H     ; разрешения


     ТЕКСТОВЫЙ (АЛФАВИТНО-ЦИФРОВОЙ) РЕЖИМ
     ________________________________________________________________

     Текстовой режим предназначен для обычных вычислений с выводом букв  и
цифр на  экран.  Данный  режим одинаков для черно-белых (BW) и для цветных
мониторов за  исключением  того,  что  цветные  мониторы  не  поддерживают
атрибут  подчеркивания.  Текстовой  режим  обеспечивает  работу  с  полным
набором ASCII кодов (256 символов),  как для черно-белых (BW),  так и  для
цветных мониторов.  Каждый  символ на экране может отображаться в одном из
16 цветов на одном из восьми цветов фона.  Бордюр экрана может иметь также
один из 16 цветов.


                                  Цвета
                                 -------
     Тремя основными цветами являются красный, зеленый и синий. Комбинируя
основные цвета, друг с  другом,  можно  получить  восемь  цветов,  включая
черный и белый.  Используя два уровня яркости для каждого  цвета,  получим
всего 16 цветов:

                          I R G B                       I R G B
           Черный         0 0 0 0        Серый          1 0 0 0
           Синий          0 0 0 1        Ярко-синий     1 0 0 1
           Зеленый        0 0 1 0        Ярко-зеленый   1 0 1 0
           Голубой        0 0 1 1        Ярко-голубой   1 0 1 1
           Красный        0 1 0 0        Ярко-красный   1 1 0 0
           Сиреневый      0 1 0 1        Ярко-сиреневый 1 1 0 1
           Коричневый     0 1 1 0        Желтый         1 1 1 0
           Белый          0 1 1 0        Ярко-белый     1 1 1 1

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


                               Байт-атрибут
                              --------------
     Текстовой   режим    допускает    использование    байта    атрибута,
рассмотpенного в гл.9.  В приведенной ниже таблице,  атрибут BL обозначает
мигание (BLinking),  RGB - соответственно красный, зеленый и синий цвет, I
- выделение яркостью:

                                     Фон          Текст

               Атрибут:          BL R  G  B    I  R  G  B
               Номера битов:     7  6  5  4    3  2  1  0

     Мигание и выделение  яркостью  относится  к  тексту.  Ниже  приведены
некоторые типичные атрибуты:

          Текст по фону         Бит:  7  6  5  4  3  2  1  0
                                      BL R  G  B  I  R  G  B  Шест.
          Черный по черному           0  0  0  0  0  0  0  0   00
          Синий по черному            0  0  0  0  0  0  0  1   01
          Красный по синему           0  0  0  1  0  1  0  0   14
          Голубой по зеленому         0  0  1  0  0  0  1  1   23
          Светло-сиреневый по белому  0  1  1  1  1  1  0  1   7D
          Серый по зеленому, мигание  1  0  1  0  1  0  0  0   A8

     Байт-атрибут используется  аналагично  показанному  для  черно-белого
(BW) монитора.  Тип монитора  можно  определить  из  программы  с  помощью
команды INT 11H.  Для BW монитора код 07 устанавливает нормальный атрибут.
Для цветных мониторов можно использовать  любую  из  цветовых  комбинаций.
Цвет на экране сохраняется до тех пор, пока другая команда не изменит его.
Для установки цвета можно использовать в команде INT  10H  функции  AH=06,
AH=07 и AH=09. Например, для вывода пяти мигающих звездочек светло-зеленым
цветом на сиреневом фоне возможна следующая программа:

               MOV  AH,09          ;Функция вывода на экран
               MOV  AL,'*'         ;Выводимый символ
               MOV  BH,00          ;Страница 0
               MOV  BL,0DAH        ;Атрибут цвета
               MOV  CX,05          ;Число повторений
               INT  10H            ;Вызвать BIOS


     ГРАФИЧЕСКИЙ РЕЖИМ
     ________________________________________________________________

     Для генерации цветных изображений в графическом  режиме  используются
минимальные точки растра - пиксели или пэлы (pixel).  Цветной  графический
адаптер (CGA) имеет три степени разрешения:

          1. Низкое разрешение  (не  поддерживается  в  ROM)  обеспечивает
     вывод 100 строк по 160 точек (т.е.  четыре  бита  на  точку).  Каждая
     точка может иметь один  из  16  стандартных  цветов,  как  описано  в
     предыдущем разделе "Цвета". Реализация данного режима включает прямую
     адресацию контролера Motorola 6845 CRT.  Для этого  используются  два
     порта: шест.3D4 и 3D5.
          2.  Среднее  разрешение  для   стандартной    цветной    графики
     обеспечивает 200 строк по  320  точек.  Каждый  байт  в  этом  случае
     представляет четыре точки (т.е. два бита на точку).
          3. Высокое разрешение  обеспечивает  200  строк  по  640  точек.
     Поскольку  в  данном  случае  требуется  16К  байт  памяти,   высокое
     разрешение достигается только в черно-белом (BW) режиме.  Каждый байт
     здесь представляет 8 точек (т.е. один бит на точку). Нулевое значение
     бита дает черный цвет точки, единичное - белый.

     Заметим, что в графическом режиме ROM содержит точечные образы только
для первых 128 ASCII-кодов.  Команда INT  1FH  обеспечивает  доступ  к  1К
байтовой области в памяти, определяющей остальные 128 символов. (8 байт на
символ).  Отображение графических байтов в видео сигналы  аналогично,  как
для среднего, так и для высокого pазрешения.


     РЕЖИМ СРЕДНЕГО РАЗРЕШЕНИЯ
     ________________________________________________________________

     При  среднем  разрешении  каждый  байт  представляет  четыре   точки,
пронумерованных от 0 до 3:

               Байт:     |C1 C0|C1 C0|C1 C0|C1 C0|
               Пиксели:     0     1     2     3

     В любой момент для каждой точки возможны четыре цвета,  от  0  до  3.
Ограничение в 4 цвета объясняется  тем,  что  двухбитовая  точка  имеет  4
комбинации значений битов: 00, 01, 10 и 11. Можно выбpать значение 00  для
любого из 16 возможных цветов фона или выбрать значение 01, 10, и  11  для
одной из двух палитр. Каждая палитpа имеет три цвета:

               C1   C0        Палитра 0      Палитра 1

               0    0         фон            фон
               0    1         зеленый        голубой
               1    0         красный        сиреневый
               1    1         коричневый     белый

     Для выбора цвета палитры и фона используется INT 10H.  Таким обpазом,
если, например,  выбран  фон  желтого  цвета  и  палитра  0,  то  возможны
следующие цвета  точки:  желтый,  зеленый,  красный  и  коричневый.  Байт,
содержащий значение 10101010, соответствует красным точкам.  Если  выбрать
цвет фона - синий  и  палитру  1,  то  возможные  цвета:  синий,  голубой,
сиреневый и белый.  Байт, содержащий значение 00011011, отображает  синюю,
голубую, сиреневую и белую точки.


                   Прерывание BIOS INT 10H для графики
                  -------------------------------------
     Функция  AH=00  команды  INT  10H  устанавливает  графический  режим.
Функция AH=11 команды INT 10H позволяет выбрать цвет палитры и вывести  на
экран графический символ. Код в регистре AH определяет функцию:

     AH=00: Установка режима.  Нулевое значение  в  регистре  AH  и  04  в
pегистре AL устанавливают стандартный цветной графический режим:
Предыдущая страница Следующая страница
1 ... 22 23 24 25 26 27 28  29 30 31 32 33 34 35 ... 85
Ваша оценка:
Комментарий:
  Подпись:
(Чтобы комментарии всегда подписывались Вашим именем, можете зарегистрироваться в Клубе читателей)
  Сайт:
 
Комментарии (15)

Реклама