Программирование на Ассемблере для персональных компьютеров. Садовой Н.Н - 44 стр.

UptoLike

Составители: 

44
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) прекращает выполнение программы пользователя.
5.3. Пример выполнения работы
Ввести строку с клавиатуры, посчитать, сколько и каких десятич-
ных цифр имеется во введенной строке, посчитанные значения вывес-
ти на терминал.
Текст программы:
data segment
COUNT db 10 dup (0) ; счетчик количества цифр
CIFR db ‘0123456789ABCDEF’ ; таблица преобразования цифр
   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) прекращает выполнение программы пользователя.

                             5.3. Пример выполнения работы

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

   Текст программы:
   data segment
   COUNT db 10 dup (0)                    ; счетчик количества цифр
   CIFR db ‘0123456789ABCDEF’             ; таблица преобразования цифр
                                                                          44