КАТЕГОРИИ: Архитектура-(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; Просмотров: 486; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |