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



Работа с файлами в программах на ассемблере

Очевидно, целесообразно рассматривать прикладную систему как некоторую
совокупность данных и операций, определенных па этих данных, а не просто
как набор программ, взаимодействующих между собой посредством
обмена данными. Программы — это всего лишь рабочие инструменты,
в то время как данные — это своего рода исходное сырье,
из которого вырабатывается конечный продукт. Набор данных вне среды
приспособленной для его использования, не представляет
никакой ценности, однако в рамках такой среды именно
набор данных приобретает основное значение.
Динар Нурмухамедович Бибишев

Язык ассемблера не содержит средств для работы с файлами. Если такая необходимость возникает, то программа должна содержать фрагменты кода, в которых производится обращение к средствам операционной системы, осуществляющим взаимодействие с файловой системой. Это лишний раз подтверждает тот факт, что в области взаимодействия с внешним миром программа на ассемблере оказывается привязанной как к конкретной аппаратной, так и конкретной операционной платформам. В сегодняшней ситуации программисту все еще приходится сталкиваться с необходимостью программирования для MS DOS. Поэтому изучение средств для работы с файлами этой операционной платформы не потеряло своей актуальности и эти средства в плане совместимости поддерживаются различными реализациями Windows. В реализации MS DOS 7.0 введена поддержка длинных имен файлов, используемых системой файлового ввода-вывода Win 32. Таким образом можно выделить три аспекта работы с файлами из программ на ассемблере:

  • работа с системой файлового ввода-вывода MS DOS, использующей короткие имена (по схеме 8.3);
  • работа с системой файлового ввода-вывода MS DOS, использующей длинные имена (длиной до 255 символов);
  • работа с системой файлового ввода-вывода Win 32;
  • использование файлов особого вида, поддерживаемых Win 32 — проецированных на память.

Целью данной главы является предоставить читателю фрагменты кода, реализующего наиболее часто используемые операции по работе с файлами на различных операционных платформах. При этом нам не обойтись без определенной систематизации, но это будет сделано лишь для того, чтобы создать у читателя общее представление об этом вопросе. Если у вас впоследствии возникнет потребность в реализации файловых функций, чье полное практическое описание отсутствует в материале этой главы, то более подробные сведения о них можно будет найти в других справочных руководствах, например MSDN. Далее, используя общие принципы организации ввода-вывода, рассмотренные ниже, вы сможете без труда решить возникшую проблему. Материалы всех разделов подобраны так, чтобы читатель мог познакомиться с общими принципами организации ввода-вывода в каждом случае, начиная от самых простых.


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