Assembler для начинающих


         

Данные клавиатуры - часть 4


    клавиатуры. Если нет, цикл продолжается. Если символ введен, цикл
    завершается. Тело цикла не может выполняться в случае использования
    циклящей программой функции чтения символа.
 
      На Фиг. 9.3 показан листинг программы на языке ассемблера,
    которая прибавляет единицу к четырехбайтовому целому числу всякий
    раз, когда она проходит через цикл. Когда оператор нажимает клавишу
    пробела, происходит выход из программы. Эта программа использует
    две функции BIOS. Когда регистр AH установлен в 1, BIOS возвращает
    состояние буфера клавиатуры. Если установлен флаг нуля, символа
    нет. Если символ есть, программа должна также прочитать этот
    символ, иначе он останется в буфере до тех пор, пока следующая
    программа (или эта же, но позднее) не запросит символ. В этом
    примере символ из буфера извлекается вызовом функции программы
    обслуживания клавиатуры BIOS с нулевым значением в регистре AH.
    BIOS возвращает символ в регистре AL, и программа сравнивает
    значение символа с пробелом. Этот пример показывает, как можно
    организовать проверку определенного символа в каждом проходе цикла.



Содержание  Назад  Вперед