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

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

GET_KEY MOV AH,01Н ; считать символ





INT 21H

CMP AL, ’Д’; считан Д?

JE YES; если да, то перейти к YES

CMP AL, ’Н’; считан Н?

JE NO; если да, то перейти к YES

JNE GET_KEY; иначе возврат на чтение символа.

В приведенном фрагменте распознаются только прописные буквы Д и Н, если Вы хотите, чтобы распознавались и строчные буквы, добавьте в программу соответствующие команды!

Во многих приложениях, требуется, чтобы пользователь ввел строку с информацией, например, свое полное имя (ФИО). Для этой цели служит функция А прерывания 21Н. Чтобы воспользоваться этой функцией, в программе пользователя требуется зарезервировать в сегменте данных место для вводимой строки (в таблице это называется буфер строки). Количество выделяемых байтов должно быть на 2 больше максимального размера вводимой строки. Причем первый байт буфера должен задавать эту самую максимальную длину (фактически он будет содержать значение количества выделенных байтов памяти минус 2). Например, чтобы предусмотреть в программе ввод пользовательской строки из 50 символов, в сегменте данных нужно описать:

STRING DB 50, 51 DUP (?); первый байт в области – константа 50, за ней следуют незаполненные 51 байт для сообщения.

Чтение строки выполняется командами:

LEA DX, STRING; указатель на буфер поместить в DS: DX

MOV AH, 0AH; вызвать функцию А

INT 21H; прочитать строку.

Функция А помещает количество фактически введенных символов во второй байт буфера STRING и не изменяет указатель DS: DX. Т.е. после выполнения команды INT первый информационный символ введенной строки находится по адресу (DX)+2.

Вряд ли хорошая пользовательская программа может обойтись без сообщений из программы. Это могут быть либо приглашения к вводу информации, либо сообщения о ходе выполнения программы. Такой сервис в программах на Ассемблере представляет функция 9 для работы с дисплеем. Приведем пример фрагмента программы для выдачи приглашения ‘Введите ФИО’. Для функции 9 необходимо, чтобы текст сообщения заканчивался символом $, поэтому в сегменте данных опишем:

MESS1 DB ‘Введите ФИО: $’.

В командном сегментном коде предусмотрим команды вызова функции 9:

LEA DX, MESS1

MOV AH, 09Н

INT 21H.

Имейте ввиду, что в этом случае курсор устанавливается в позицию $, т.е. в то место строки, где мы хотим видеть фамилию. Чтобы после выдачи приглашения курсор установился в начале следующей строки, необходимо в текст выдаваемого приглашения перед символом доллара ввести символы возврата каретки и перехода на следующую строку, как это демонстрируется ниже:

MESS1 DB ‘Введите ФИО’, 0DH, 0AH, ’$’.

 







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




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


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


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


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

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

Педагогическая структура процесса социализации Характеризуя социализацию как педагогический процессе, следует рассмотреть ее основные компоненты: цель, содержание, средства, функции субъекта и объекта...

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

Разработка товарной и ценовой стратегии фирмы на российском рынке хлебопродуктов В начале 1994 г. английская фирма МОНО совместно с бельгийской ПЮРАТОС приняла решение о начале совместного проекта на российском рынке. Эти фирмы ведут деятельность в сопредельных сферах производства хлебопродуктов. МОНО – крупнейший в Великобритании...

ОПРЕДЕЛЕНИЕ ЦЕНТРА ТЯЖЕСТИ ПЛОСКОЙ ФИГУРЫ Сила, с которой тело притягивается к Земле, называется силой тяжести...

СПИД: морально-этические проблемы Среди тысяч заболеваний совершенно особое, даже исключительное, место занимает ВИЧ-инфекция...

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