Студопедия — Приложение П.2.2. Esc-последовательности
Студопедия Главная Случайная страница Обратная связь

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

Приложение П.2.2. Esc-последовательности






Esc- последовательности [4, 12] вводятся программой-драйвером Ansi.sys, входящей в состав DOS, и дают пользователю дополнительные возможности управления экраном в сравнении с существующими функциями DOS[5]. Этот драйвер не предоставляет никаких добавочных возможностей, которые нельзя было бы добиться с помощью функций BIOS, однако он делает управление выводом на экран более простым, но, к сожалению, и более медленным. Если в символьной строке, выводимой на экран, встречается код клавиши < Exc> (27 = = 1Bh), за которым следует символ[ (91 = 5Bh), то ansi –драйвер перехватывает последующие символы и интерпретирует их как команды управления экраном или клавиатурой.

С помощью Esc- последовательностей можно очищать экран, перемещать по нему курсор, выбирать цвет фона и символа, изменять видеорежим, а также переопределять клавиши клавиатуры. В основном Esc- последовательности используются для формирования цветных информационных кадров. Перечень основных Esc- последовательностей с кратким комментарием сведён в табл. П.2.1 (Ansi- драйвер чувствителен к регистру клавиатуры, на котором вводится завершающая Esc- последовательность буква). Для вывода Esc- последователь-ностей на экран используются обычно функции DOS 09h и 40h (можно использовать и соответствующие средства языков высокого уровня, которые выдают символы на консоль).

Таблица П.2.1

Esc- последовательности для управления экраном и клавиатурой

Последовательность Действие
Esc[2J Очистка экрана и перемещение курсора в левый верхний угол
Esc[K Очистка конца строки от позиции курсора
Esc[s Сохранение текущих координат курсора в специальном буфере
Esc[u Восстановление сохранённых в буфере координат курсора
Esc[ стр; поз Н Установка позиции курсора. Параметр стр обозначает Y-коорди-нату курсора в пределах 1 – 25, параметр поз – Х – координату в пределах 1 – 80 (для видеорежима 80 х 25). Пример: Esc[12; 32Н – установка курсора на 32-й столбец 12-й строки
Esc[ код А Перемещение курсора на код строк вверх
Esc[ код В Перемещение курсора на код строк вниз
Esc[ код С Перемещение курсора на код позиции вправо
Esc[ код D Перемещение курсора на код позиции влево
Esc[=7h Автоматический перевод курсора на следующую строку
Esc[=7l Выключение предыдущего действия
Esc[ код_ 1; код_ 2; код_ 3 m Выбор атрибутов символов. Возможные значения параметра код приведены в табл. П.2.2. Порядок следования – произвольный. Примеры: Esc[0m – отмена цвета или возврат к чёрно-белому изображению Esc[31; 47m – установка цвета (красные символы по белому полю) Esc[5; 34; 47m – синие мерцающие символы на белом фоне
Esc[= m h Выбор видеорежима m. Пример: Esc[=3h – 16 -цветный текстовый, 80х25 (режим 3)

 

Параметры Esc -последовательности приведены в табл. П.2.2.

Ниже приведена программа, иллюстрирующая использование Esc- последовательностей. Программа выводит в середину пустого экрана текст в рамке.


Таблица П.2.2

Параметры Esc- последовательности

Код Назначение
  Нормальное изображение (чёрные символы на белом фоне)
  Выделение яркостью
  Включено подчёркивание
  Выделение мерцанием
  Инверсное изображение (белые символы на чёрном фоне)
  Всё включено, символы невидимы (скрытый текст)
Код символа Назначение Код фона Назначение
  Чёрные   Чёрный фон
  Красные   Красный фон
  Зелёные   Зелёный фон
  Жёлтые   Жёлтый фон
  Синие   Синий фон
  Фиолетовые   Фиолетовый фон
  Бирюзовые (голубые)   Бирюзовый (голубой) фон
  Белые   Белый фон

 

Листинг 2.5. Демонстрация_1 Esc- последовательности

Ideal

Model small

Stack 256

Dataseg

; Сообщение, оконтуренное рамкой

mes db 27, '[2J', 27, '[5; 31; 46m'; Очистка экрана и задание цвета (красные на

; бирюзовом фоне)

db 27, '[12; 30H', 0C9h, 22 dup (0CDh), 0BBh; Позиционирование (строка, столбец) и

; символы

db 27, '[13; 30H', 0BAh, 'ESC-последовательности', 0BAh; Позиционирование и символы

db 27, '[14; 30H', 0C8h, 22 dup (0CDh), 0BCh; Позиционирование и символы

db 27, '[0m', 27, '[01; 01H', '$'; Отмена цвета и позиционирование

Codeseg

Start: mov ax, @data; Установка в ds адреса

mov ds, ax; сегмента данных

mov ah, 09h; Функция вывода

mov dx, offset mes

int 21h

Exit: mov ax, 04C00h; Функция DOS 4Сh: выход из программы

int 21h; Вызов DOS. Останов

End Start; Конец программы/точка входа

Как известно, кроме обычных символов и других знаков, имеющихся на клавиатуре, на экран можно выводить символы псевдографики, которым соответствуют коды от 0B0h до 0DFh. В приведённой выше программе для формирования двойной рамки используются следующие коды:

║ 0BAh ╗ 0BBh ╝ 0BCh ╚ 0C8h ╔ 0C9h ═ 0CDh

Можно предложить и другой способ использования ESC- последовательностей при выводе на экран сообщений функцией 09h int 21h с использованием атрибутов цвета для фона и символов. Данный способ иллюстрируется следующим фрагментом программы.

Листинг 2.6. Демонстрация_2 Esc- последовательности

Macro outstr message; макрос вывода строки

mov ah, 09h

mov dx, offset message

int 21h

Endm outstr

DATASEG

mes1 db 'Афанасьев В.А.', 10, 13, '$'

mes2 db '*** Кафедра ВТ ***$'

red_blue db 27, '[31; 44m$'; Задание атрибутов цвета " Красный по синему"

; для изображения текста на экране, выводимого с помощью функции 09h int 21h

green_white db 27, '[32; 47m$'; " Зелёный по белому"

cancel db 27, '[0m$'; Восстановление атрибутов цвета по умолчанию

CODESEG

Start: mov ax, @data; Установка в ds адреса

mov ds, ax; сегмента данных

outstr red_blue; Установка атрибутов цвета

outstr mes1; Вывод сообщения mes1

outstr green_white; Установка атрибутов цвета

outstr mes2; Вывод сообщения mes2

outstr cancel; Восстановление атрибутов цвета

....

Назначения атрибутов цвета будут действовать на все последующие команды вывода (включая функции BIOS прерывания 10h) до тех пор, пока не будут сделаны другие назначения.

Приложение П.2.3. Таблица символов в кодировке ASCII

В данном приложении приведена полная таблица отображаемых символов ASCII, состоящая из двух равных частей по 128 символов. Номера строк соответствуют первой цифре 16-теричного кода символа, номера столбцов – второй, так что, например, код прописной латинской буквы А = 41h. Первая половина таблицы символов с кодами 00h – 7Fh является Американским стандартным кодом для обмена информации (английская аббревиатура ASCII) и имеет международный стандарт, вторая – соответствует одному из широко распространённых в России вариантов кодирования символов для IBM- совместимых компьютеров.

Первая половина таблицы ASCII содержит символы двух типов: управляющие (коды 00h – 1Fh, 7F) и алфавитно-цифровые (20h-7E), вторая – символы кириллицы и псевдографики.


 
 

 

 








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



Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Этапы трансляции и их характеристика Трансляция (от лат. translatio — перевод) — процесс синтеза белка из аминокислот на матрице информационной (матричной) РНК (иРНК...

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

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

Тактические действия нарядов полиции по предупреждению и пресечению групповых нарушений общественного порядка и массовых беспорядков В целях предупреждения разрастания групповых нарушений общественного порядка (далееГНОП) в массовые беспорядки подразделения (наряды) полиции осуществляют следующие мероприятия...

Механизм действия гормонов а) Цитозольный механизм действия гормонов. По цитозольному механизму действуют гормоны 1 группы...

Алгоритм выполнения манипуляции Приемы наружного акушерского исследования. Приемы Леопольда – Левицкого. Цель...

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