Сборник по задачам и примерам Assembler

Смотрите цену и звоните тонограф это. | 302f906230 Ролик подачи оригинальный, цена с ндс на сайте http://www.kyoshop.ru. | одежда для фигурного катания- Новый Итальянский. |

Ввод строки символов с клавиатуры (0ah int 21h)



Ввод строки символов с клавиатуры (0ah int 21h)

Функция 0ah вводит строку символов в буфер памяти специального формата. Если символов в буфере клавиатуры нет, то функция ожидает их ввода. Конец ввода — нажатие клавиши Enter (0dh). Формат буфера:

  • первый байт буфера содержит количество символов для ввода с учетом символа 0dh, завершающего процесс ввода;
  • второй байт содержит реальное число введенных символов, но уже без учета завершающего символа 0dh;
  • начиная с третьего байта содержится строка введенных символов с завершающим символом 0dh, максимальная длина строки — 254 символа.

Вход: АН = 0ah — ввод строки в буфер (до 254 символов); DS:DX — адрес буфера, первый байт которого должен содержать количество символов для ввода.

Выход: введенная строка начиная с третьего байта буфера по адресу в DS:DX, длина строки во втором байте буфера.

Перед вызовом функции 0ah в первый байт буфера необходимо поместить значение максимальной длины строки. Если первый байт равен нулю, то вызов функции игнорируется и программа продолжает выполнение без ожидания ввода строки. Функция производит проверку нажатия комбинации Ctrl+C (Ctrl+Break), при наличии которого вызывается прерывание int 23h. Вводимая строка отображается на экране. Буфер ввода для данной функции лучше оформлять в виде структуры.

;prg05_07.asm - программа ввода строки функцией OAh int 21h

buf_Oahstruc

len_bufdb 11 :длина buf_0ah

len_in db 0 действительная длина введенного слова (без учета Odh)

buf_in db 11 dup (20h) ;буфер для ввода (с учетом Odh)

ends

.data

buf buf_0ah<>

adr_bufdd buf

.code

..........

:вводим 10 символов с клавиатуры

Ids dx,adr_buf

movah.Oah

int 21h обработка введенной строки




- Начало -  - Назад -  - Вперед -



Книжный магазин