Студопедия Главная Случайная страница Обратная связь

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

Приложение П.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; просмотров: 1338. Нарушение авторских прав; Мы поможем в написании вашей работы!




Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

Внешняя политика России 1894- 1917 гг. Внешнюю политику Николая II и первый период его царствования определяли, по меньшей мере три важных фактора...

Оценка качества Анализ документации. Имеющийся рецепт, паспорт письменного контроля и номер лекарственной формы соответствуют друг другу. Ингредиенты совместимы, расчеты сделаны верно, паспорт письменного контроля выписан верно. Правильность упаковки и оформления....

БИОХИМИЯ ТКАНЕЙ ЗУБА В составе зуба выделяют минерализованные и неминерализованные ткани...

Гносеологический оптимизм, скептицизм, агностицизм.разновидности агностицизма Позицию Агностицизм защищает и критический реализм. Один из главных представителей этого направления...

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

Определение трудоемкости работ и затрат машинного времени На основании ведомости объемов работ по объекту и норм времени ГЭСН составляется ведомость подсчёта трудоёмкости, затрат машинного времени, потребности в конструкциях, изделиях и материалах (табл...

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