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



       

ГЛАВА 9. Экранные операции II: Расширенные возможности - часть 8


Ассемблер для IBM PC. Глава 9 207

Программа, приведенная на рис. 9.1, принимает ввод имен с клавиатуры и выводит их на экран. Запрос выдается в инвертированном отображении, имена принимаются в нормальном отображении, а вывод имен осуществляется с 40 столбца в той же строке с миганием и инвертированием:

Name? Francis Bacon Francis Bacon [мигание] | | Столбец 0 Столбец 40

Для управления положением курсора в программе определены переменные ROW (вертикальное перемещение вниз) и COL (гори зонтальное перемещение вправо). Команда INT 10H не перемеща ет курсор автоматически. Программа выводит имена сверху вниз, пока не достигнет 20-й строки. После этого выполняется прокрутка экрана вверх на одну строку для каждого нового запроса. Для ввода имен в процедуре D10INPT используется команда DOS INT 21H. Для замены на BIOS INT 10H необходимо:

1. Инициализировать счетчик для адреса области ввода и счетчик для длины имени. 2. Выполнить INT 10H (функция 08) с 08 в регистре AH и 00 в BH. Функция возвращает каждый символ в регистре AL. 3. Если регистр AL не содержит символа RETURN и счетчик длины достиг максимального значения, выдать звуковой сигнал и выйти из процедуры. 4. Переслать содержимое AL в область ввода имени. 5. Если регистр AL содержит символ RETURN, выйти из процедуры. 6. Увеличить счетчик длины и адрес области ввода имени. 7. Переместить курсор на один столбец. 8. Перейти на пункт 2.

При выходе из процедуры область ввода содержит имя и символ RETURN, а счетчик - число введенных символов.

РАСШИРЕННЫЙ ASCII КОД ------------------------------------------------------------

ASCII-коды от 128 до 255 (шест. 80-FF) представляют собой ряд специальных символов полезных при формировании запросов, меню, специальных значков с экранными атрибутами. Например, используя cледующие символы можно нарисовать прямоугольник:

Шест. Символ

DA Верхний левый угол BF Верхний правый угол C0 Нижний левый угол D9 Нижний правый угол C4 Горизонтальная линия B3 Вертикальная линия

Ассемблер для IBM PC. Глава 9 208




Содержание  Назад  Вперед