Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Чтение содержания файла

Обслуживание файловой системы | Файловый ввод-вывод | Обслуживание файловой системы | Функция 42h. Установка указателя. | Приложение №2. Команды консоли MS Windows |


Читайте также:
  1. IV. Ценностные ориентиры содержания учебного предмета
  2. Автор Начального Файла 633 и
  3. Аутентичность — соответствие внутреннего содержания внешнему проявлению
  4. Баллы Предпочтение
  5. Быстрое чтение
  6. В разработку метола анализа содержания
  7. Вопрос 11 Если при сравнении, объединении конфигурации с другой из файла, основная пустая, то...

На низком уровне любой файл это последовательность блоков байтов. Обычно эти блоки являются фиксированного размера. В этом случае файлы являются двоичными источниками данных. Структура двоичного файла с блоками фиксированной длины показана на рисунке.

Минимальной единицей – блоком данных является 1 – байт. В случае текстового файла это код символа, либо управляющие коды.

Выполнить чтение из файла блоков байтов можно с помощью с помощью системной функции 3Fh. Для контроля за работой функции используется содержание регистра AX, в него записывается количество байтов, полученных за одну операцию ввода-вывода.

Пример 2.2. Программа посимвольного чтения содержания файла, созданного в примере.

use16

org 100h

;=============================

mov ah,3dh;открыть файл

mov dx,myfile

int 21h

jc all;файл открыт?

push ax;да, дескриптор в стек

;=============================

pop bx;извлечь дескриптор

go:;читать байты

mov ah,3Fh

mov cx,1;читать один байт

mov dx,buffer;буфер хранения байта

int 21h

cmp AX,1;прочитан один байт?

jne all;нет больше байтов

mov ah,02h;вывести байт на консоль

mov dl,[buffer];код байта из буфера

int 21h

jmp go

all:;конец работы

;=============================

mov ah,08h

int 21h

mov ax,4c00h

int 21h

;=============================

myfile db 'greet.txt',0;файл с текстом

buffer db 0;буфер хранения байта

Результат работы программы показан на рисунке.

Рис.2.1. Вывод содержания файла на экран

 


Дата добавления: 2015-07-19; просмотров: 37 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Получение дескриптора файла| Произвольный доступ к данным файла

mybiblioteka.su - 2015-2024 год. (0.006 сек.)