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