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


         

каталоге диска, то программа завершит


    каталоге диска, то программа завершит выполнение и выдаст
    соответствующее сообщение об ошибке.
      При любом обращении DOS к файлу программа должна, прежде всего,
    открыть файл. Процедура открытия файла устанавливает связь между
    операционной системой и пользовательской программой. В процессе
    этой операции DOS просматривает справочник диска, находит нужный
    файл (или не находит, что соответствует сбойной ситуации) и
    заполняет поле блока FCB, относящееся к длине файла. После того,
    как файл открыт, DOS не должна просматривать справочник диска
    всякий раз, когда происходит обращение к файлу. Система DOS
    сохраняет в блоке FCB информацию о файле до тех пор, пока она этот
    файл не "закроет". Термины "закрыть" и "открыть" файл еще раз
    указывают на связь с традиционным делопроизводством. Папку с файлом
    документов нужно открыть прежде, чем можно будет ознакомиться с
    содержащимся в ней бумагами, и закрыть до того, как ее уберут снова
    в бюро.
 
      В рассматриваемом примере открытие файла происходит при его
    создании. Если бы такой файл уже существовал, связь с ним была бы
    установлена с помощью функции открытия файла (AH=0FH). Если
    открытие файла произошло успешно, программма изменяет значения
    некоторых полей блока FCB. В частности, длина записи должна быть
    установлена равной 32 байт, так как по умолчанию DOS считает ее
    равной 128 байт.
 
      Часть программы с именем CHARACTER_LOOP передает в файл 26
    записей. Определяющий символ каждой записи передается в буфер
    области DTA оператором REP STOSB. Отдельные записи передаются на
    диск с помощью функции последовательной записи (AH=0AH). Программа
    также выполняет проверку на отсутствие ошибок.
 
      Начиная с метки KEYBOARD_LOOP программа переходит от
    формирования файла к запросу=коррекции записей в нем. В данном
    примере используется буферированный ввод с клавиатуры,
    поддерживаемый DOS. Это позволяет пользователю вводить строку из

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