Программа на ассемблере
Очевидно, целесообразно рассматривать прикладную систему как некоторую совокупность данных и операций, определенных па этих данных, а не просто как набор программ, взаимодействующих между собой посредством обмена данными.
Программы – это всего лишь рабочие инструменты, в то время как данные – это своего рода исходное сырье, из которого вырабатывается конечный продукт. Набор данных вне среды приспособленной для его использования, не представляет никакой ценности, однако в рамках такой среды именно набор данных приобретает основное значение.
Динар Нурмухамедович Бибишев
Язык ассемблера не содержит средств для работы с файлами. Если такая необходимость возникает, то программа должна содержать фрагменты кода, в которых производится обращение к средствам операционной системы, осуществляющим взаимодействие с файловой системой. Это лишний раз подтверждает тот факт, что в области взаимодействия с внешним миром программа на ассемблере оказывается привязанной как к конкретной аппаратной, так и конкретной операционной платформам.
В сегодняшней ситуации программисту все еще приходится сталкиваться с необходимостью программирования для MS DOS. Поэтому изучение средств для работы с файлами этой операционной платформы не потеряло своей актуальности и эти средства в плане совместимости поддерживаются различными реализациями Windows. В реализации MS DOS 7.0 введена поддержка длинных имен файлов, используемых системой файлового ввода-вывода WIN 32. Таким образом можно выделить три аспекта работы с файлами из программ на ассемблере:
- работа с системой файлового ввода-вывода MS DOS, использующей короткие имена (по схеме 8.3);
- работа с системой файлового ввода-вывода MS DOS, использующей длинные имена (длиной до 255 символов);
- работа с системой файлового ввода-вывода WIN 32;
- использование файлов особого вида, поддерживаемых WIN 32 – проецированных на память.
Целью данной главы является предоставить читателю фрагменты кода, реализующего наиболее часто используемые операции по работе с файлами на различных операционных платформах. При этом нам не обойтись без определенной систематизации, но это будет сделано лишь для того, чтобы создать у читателя общее представление об этом вопросе. Если у вас впоследствии возникнет потребность в реализации файловых функций, чье полное практическое описание отсутствует в материале этой главы, то более подробные сведения о них можно будет найти в других справочных руководствах, например MSDN.
Далее, используя общие принципы организации ввода-вывода, рассмотренные ниже, вы сможете без труда решить возникшую проблему. Материалы всех разделов подобраны так, чтобы читатель мог познакомиться с общими принципами организации ввода-вывода в каждом случае, начиная от самых простых.