Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Функция ОАН




Функция 09Н

Функции 02Н

Функции 01Н

Описание функций работы с клавиатурой и дисплеем диспетчера функций MS-DOS

Для вызова функции прерывания DOS 21h необходимо проделать следующие действия:

выбрать функцию, выполняющую требуемые действия;

занести номер функции в регистр аh;

подготовить другие регистры (если это необходимо);

написать команду int 21h;

прочесть результаты или состояние из регистров, указанных в описании данной функции.

Ниже следует описание некоторых функций.

Выполняет ввод с клавиатуры одного символа и отображает его на экране.

· Вызов: ah = 01h

· Возвращаемое значение: аl = код ASCII введенного символа

· Примечание. Введенный символ отображается на экране (выполняется эхо-отображение). Комбинация клавиш Ctrl/С (или Ctrl/Break) прекращает выполнение программ пользователя.

Выполняет отображение символа на стандартный вывод (дисплей).

· Вызов:

· ah = 02h

· dl = отображаемый символ

· Возвращаемое значение: нет

· Примечание. Символ отображается на стандартный вывод. Комбинация клавиш Ctrl/C (или Ctrl/Break) прекращает выполнение программ пользователя.

Выполняет отображение строки на стандартный вывод.

· Вызов:

аh = 09Н

ds: dx = указатель на отображаемую строку

· Возвращаемое значение: нет

· Примечание: Строка отображается на стандартный вывод. $ признак конца строки, $ не отображается, dx содержит смещение строки, ds - сегментный адрес. Ниже приведены код управления курсором:

· 0dh (13) - перевод курсора в начало текущей строки;

· 0ah (10) - перевод курсора вниз на 1 строку;

· 08h (8) - перевод влево на 1 позицию;

07h (7) - звонок.

Пример.

· Чтобы вывести на экран с новой строки текст: “Функция 09Н для выдачи текста на экран” и затем перевести курсор в следующую строку, следует в сегменте данных описать строку:

· beg db 0dh, 0ah, “Функция 09Н для выдачи текста на экран”, 0dh,0ah, “$”

· а в программном сегменте записать команды:

lea dx,beg; адрес строки в dx

mov ah,09h; номер функции в аh

int 21h; вызов функции

 

Выполняет ввод с клавиатуры в буфер строки символов.

· Вызов:

· аh= 0аh

· ds: dx = адрес буфера ввода

· Возвращаемое значение:

Строка символов по указанному адресу

· Примечание. Читается со стандартного ввода. dx содержит смещение буфер вывода, DS - сегментный адрес. Буфер вывода имеет следующую структуру: 0-й байт содержит максимальное количество символов в буфере; 1-й байт содержит количество реально введенных символов; начиная со 2-го размещён буфер для ввода размером не менее указанного в в 1-м байте. Выполняется эхо-отображение. Комбинация клавиш Ctrl/C (или Ctrl/Break) прекращает выполнение программы пользователя. Символы вводятся один за другим, до тех пор, пока не будет введен код ODh (код клавиш “Enter”), завершающий строку. В ходе ввода строки пользователь может редактировать строку, и, в частности, использовать “забой”.

· Пример.

· Пусть требуется ввести строку длиной не более 10 символов. При этом в сегменте данных можно описать буфер, например, таким образом:

buffer db 11; Нулевой байт буфера

entered db (?); Число введенных символов

string db 11 dup (?); Введенные символы

 

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

lea dx, buffer; Адрес буфера в dx

mov ah, 0ah; Номер функции в аh

int 21h; Вызов функции

 




Поделиться с друзьями:


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


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.013 сек.