На этом шаге мы рассмотрим посекторные чтение и запись. Для непосредственного доступа к диску можно использовать операции абсолютного чтения и записи с помощью функций DOS INT 25H и 26Н. В этом случае теряются преимущества использования каталога диска и блокирования и разблокирования записей, обеспечиваемые функцией DOS INT 21Н. Абсолютные операции предполагают, что все […]
Архив категории ‘16-битное программирование’
Пример программы, иллюстрирующей использование функций блочного доступа в базовой версии DOS


На этом шаге мы приведем пример программы, использующей блочное чтение и запись. Приведенный пример программы создает файл на диске, состоящие не более чем из 100 целых чисел (0 - признак выхода из процедуры ввода). Все числа помещаются в область DTA, содержимое которой помещается на диск перед завершением процедуры выхода. Перед чтением из […]
Прямой блочный доступ в базовой версии DOS


На этом шаге мы рассмотрим операции прямой блочной записи и чтения. Если в программе имеется достаточно места, то одна прямая блочная операция может записать весь файл из DTA на диск, а также прочитать весь файл с диска в DTA. Данная особенность весьма полезна для записи на диск таблиц, которые другие программы могут считывать […]
Функции расширенной версии DOS для работы с файлами. Пример программы


На этом шаге мы приведем пример программы, иллюстрирующей применение функций разширенной версии DOS. Реализуем программу, приведенную на шаге 60, с помощью функций расширенной версии DOS. TITLE Работа с файлами в расширенной версии DOS. ;Программа сделана как EXE-файл. ;------------------------------- EXTRN Vvod:FAR,Vyvod:FAR,Clear:FAR,Write_Str:FAR,Cursor:FAR ;----- Сегмент стека StackSg SEGMENT PARA STACK 'Stack' DW 256 DUP(?) StackSg […]
Функции расширенной версии DOS для работы с файлами. Дополнительные операции с файлами


На этом шаге мы перечислим некоторые дополнительные функции, используемые при работе с файлами в расширенной версии DOS. Перечислим другие дисковые функции в расширенной версии DOS. 1. Получение размера свободного дискового пространства (функция 36H). Данная функция выдает информацию о дисковой памяти. Для выполнения функции необходимо загрузить в регистр DL номер дисковода (0 - […]
Функции расширенной версии DOS для работы с файлами. Основные операции с файлами


На этом шаге мы рассмотрим основные операции над файлами. Перечислим основные операции, организующие работу с файлами в расширенной версии DOS. 1. Создание файла (функция 3CH). Регистр DX должен содержать адрес ASCIIZ-строки, а регистр CX - необходимый атрибут (для обычного файла значение атрибута равно 0): MOV AH,3CH ; Запрос на создание MOV CX,00 […]
Функции расширенной версии DOS для работы с файлами. Файловый номер и коды возврата


На этом шаге мы рассмотрим основные признаки успешно выполненных файловых операций. Успешно выполненная операция создания или открытия файла устанавливает флаг CF в 0 и помещает файловый номер в регистр AX. Этот номер необходимо сохранить в элементе данных размером в слово и использовать его для всех последующих операций над дисковым файлом, так как по […]
Функции расширенной версии DOS для работы с файлами. Общие замечания


На этом шаге мы приведем общие сведения по использованию функций расширенной версии DOS. Начиная с этого шага мы будем рассматривать функции для работы с файлами, которые были введены в более поздних версиях DOS. При использовании многих расширенных функций для дисковых операций необходимо сообщить DOS адрес строки в формате ASCIIZ, содержащей идентификацию файла […]
Функции базовой версии DOS для работы с файлами. Пример программы


На этом шаге мы приведем текст программы, иллюстрирующей рассмотренные на предыдущих шагах функции. Проиллюстрируем использование изложенных в предыдущих шагах функций на конкретном примере. Пример. Создать программу, реализующую последовательный и прямой доступ к записям файла. В результате работы программы на экран выводится меню: Г Л А В Н О Е М Е Н […]
Функции базовой версии DOS для работы с файлами. Прямой доступ к записям файла


На этом шаге мы рассмотрим организацию прямого доступа к записям файла. В некоторых случаях требуется осуществить доступ к конкретным записям файла. Для этого нужно установить требуемый номер записи в соответствующее поле FCB и выполнить команду прямого чтения или записи. Произвольный доступ использует относительный номер записи (байты 33-36) в блоке FCB. Поле имеет […]