Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основной текст лекций.doc
Скачиваний:
4
Добавлен:
01.05.2025
Размер:
1 Мб
Скачать
☆

Функции 01н

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

  • Вызов: ah = 01h

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

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

Функции 02н

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

  • Вызов:

ah = 02h

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

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

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

Функция 09н

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

  • Вызов:

а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 ; Вызов функции

Функция 0Bh

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

  • Вызов:

ah = 0Bh

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

аl = 00h, если нет символа в буфере клавиатуры;

al = ffh, если есть символ в буфере клавиатуры.

  • Примечание. Устанавливает значение AL в зависимости от наличия символов в буфере клавиатуры. Часто используются в задачах, действующих при нажатии определенных клавиш. Комбинация клавиш Ctrl/ (или Ctrl/Break) прекращает выполнение программы пользователя.