Читайте также:
|
|
Один из способов получения более эффективного выводе на экран — использование управляющих символов возврата каретки, перевода строки и табуляции:
Десятичные ASCII Шестнадцатеричные
CR 13 0DH
LF 10 0AH
TAB 09 09H
Эти символы при операциях ввода-вывода выполняют одинаковые действия как в базовой, так и в расширенной версиях DOS. Например:
MESSAGE DB 09,'PC Users Group Annual Report',13,10
MOV AH,40H;Запрос на вывод
MOV BX,01;Номер файла
MOV CX,31;Длина текста
LEA DX,MESSAGE;Адрес текста
INT 21H;Вызов DOS
Использование директивы EQU для определения кодов делает программу более понятной:
CR EQU 13;или EQU 0DH LF
EQU 10;или EQU 0AH TAB
EQU 09;или EQU 09H
MESSAGE DB TAB, 'PC Users Group Annual' DB 'Report', CR, LF
Расширенные возможности экранных операций
Байт атрибутов
Байт атрибутов в текстовом (не графическом) режиме определяет характеристики каждого отображаемого символа. Байт-атрибут имеет следующие 8 бит:
Фон Текст
Атрибут: BL R G B I R G B
Номер битов: 7 6 5 u 3 2 1 0
Буквы RGB представляют битовые позиции, управляющие красным (red), зеленым (green) и синим (blue) лучом в цветном мониторе. Бит 7 (BL) устанавливает мигание, а бит 3 (I) — уровень яркости.
Для модификации атрибутов можно комбинировать биты следующим oбразом:
Эффект выделения
Фон Текст
RGB RGB
Неотображаемый (черный по черному) 000 000
Подчеркивание (не для цвета) 000 001
Нормальный (белый по черному) 000 111
Инвертированный (черный по белому) 111 000
Цветные мониторы не обеспечивают подчеркивания; вместо этого установка бит подчеркивания выбирает синий цвет для текста и получается отображение синим по черному. Ниже приведены некоторые атрибуты, основанные на комбинации битов фона, текста, мигания и выделения яркостью:
Эффект выделения Двоичный код Шест. код
Неотображаемый (для паролей) 0000 0000 00
Белый по черному (нормальный) 0000 0111 07
Белый по черному (мигание) 1000 0111 87
Белый по черному (яркий) 0000 1111 0F
Черный по белому (инвертированный) 0111 0000 70
Черный по белому (инверт. мигающий) 1111 0000 F0
Эти атрибуты подходят для текстового режима, как для монохромных, так и для цветных дисплеев. Для генерации атрибута можно использовать команду INT 10H. При этом регистр BL должен содержать значение байта-атрибута, а регистр AH один из следующих кодов: 06 (прокрутка вверх), 07 (прокрутка вниз), 08 (ввод атрибута или символа), 09 (вывод атрибута или символа).
В случае, если программа установила некотоpый атрибут, то он остается таким, пока программа его не изменит. В случае, если установить значение байта атрибута равным шест.00, то символ вообще не будет отображен.
Дата добавления: 2014-12-18; просмотров: 40 | Поможем написать вашу работу | Нарушение авторских прав |