Работа с текстом
Текстовые режимы
При выполнении графических задач на экран выводятся различные текстовые сообщения. Это могут быть названия окон, пояснения к выбранным значкам, информационные строки различного назначения, подсказки оператору и т. п.Русский текст на экране
Прежде всего, разберемся с тем, как появляются символы на экране. Задача самостоятельно или с помощью функций BIOS помещает выводимый текст в видеопамять. Коды символов должны соответствовать стандарту ASCII (American Standard Code for Information Interchange – американский стандартный код для обмена информацией).Общая характеристика процесса вывода текста
При выводе текста, для записи кодов символов в видеопамять, задача может использовать поддержку BIOS и DOS или делать это самостоятельно. Мы опишем оба способа вывода текста на экран, но предварительно обсудим общие особенности программирования работы с текстом.Вывод текста с использованием поддержки DOS и BIOS
Вывод с помощью функции DOS | Проще всего вывести строку текста на экран с помощью специальной функции DOS, имеющей код 09, поэтому этот способ часто встречается на практике. Перед обращением к DOS адрес начала строки помещается в регистры ds:dx, а код запрашиваемой функции (оэ) – в регистр ah, после чего вызывается программное прерывание int 2in, которое выполняет обращение к DOS.Непосредственная работа с видеобуфером
Если отвлечься от вспомогательных действий, то функции 09 и OAh вычисляют адрес видеобуфера, используя номера страницы, строки и столбца, и записывают по этому адресу либо код символа (0Ah), либо код символа и атрибут (09).Графические режимы. Таблицы символов.
Основные особенности графических режимов, имеющие непосредственное отношение к работе с текстом, заключаются в следующем: | видеобуфер располагается в сегменте ДОООЬ (а не B800h); | в видеопамяти находятся коды цветов точек, а не символов;Программный знакогенератор
В данном разделе будет описана подпрограмма, которая по коду ASCII выбирает из таблицы соответствующую заготовку и рисует изображение символа на экране. В технической литературе для обозначения подобных подпрограмм используется термин "программный знакогенератор".Вывод информационных строк
В процессе выполнения графических программ на экран могут выводиться информационные строки, которые делятся на две основные категории. | К первой категории относятся напоминания о назначении различных значков, находящихся на экране, не требующие конкретной реакции оператора.Текстовый курсор в графическом режиме
При вводе и редактировании текста, для указания позиции вводимого или изменяемого символа, традиционно используется курсор. В графических режимах аппаратная поддержка текстового курсора выключена, поэтому применяется "программный" курсор.Ввод символов с клавиатуры
Для иллюстрации способов работы с описанными подпрограммами мы рассмотрим ввод текста в специально выделенный буфер строки. Такой буфер нужен для того, чтобы оператор мог исправить допущенные им ошибки до того, как задача начнет обрабатывать введенную строку.