Читайте также:
|
|
Выполняет отображение строки на стандартный вывод.
· Вызов:
а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; вызов функции
Функция 0АН
Выполняет ввод с клавиатуры в буфер строки символов.
· Вызов:
а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; Вызов функции
Функция 0Bh
Выполняет опрос состояния буфера клавиатуры.
· Вызов:
ah = 0Bh
· Возвращаемое значение:
аl = 00h, если нет символа в буфере клавиатуры;
al = ffh, если есть символ в буфере клавиатуры.
Примечание. Устанавливает значение AL в зависимости от наличия символов в буфере клавиатуры. Часто используются в задачах, действующих при нажатии определенных клавиш. Комбинация клавиш Ctrl/ (или Ctrl/Break) прекращает выполнение программы пользователя.
Дата добавления: 2014-12-19; просмотров: 28 | Поможем написать вашу работу | Нарушение авторских прав |