Вопрос № 82730: Всех приветствую. Меня интересует следующее. Необходимо написать программу (16-ричного режима, под DOS ес-но) которая определенным образом обрабатывает текстовый файл (длиной в пару Кб) и создает 2-й текстовый файл, куда записывает некоторые слова. <...
Вопрос № 82.730
Всех приветствую. Меня интересует следующее. Необходимо написать программу (16-ричного режима, под DOS ес-но) которая определенным образом обрабатывает текстовый файл (длиной в пару Кб) и создает 2-й текстовый файл, куда записывает некоторые слова.
В ассемблере я новичок. Умею кодить только несложные алгоритмы шифрования и то вставками в Delphi. Работа же с файлами на асме в книгах, которые у меня есть не описана.
Второе, что непонятно - какие структуры данных использовать. Т. е. что описывать в самом .data. Предложите свой вариант.
Буду очень рад ссылкам на различные хэлпы и мануалы, которые могут помочь в этом случае. Какие печатные издания из новых порекомендуете?
Отправлен: 16.04.2007, 00:58
Вопрос задал: Blackie (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Sov
Здравствуйте, Blackie!
У меня есть программка которая просто копирует файл. Можете использовать ее в качестве шаблона, а потом написать что-нибудь свое.
Что касается литературы рекомендую поискать электронный справочник help.exe. Там содержатся описания функции, я пользовался фактически только им
Приложение:
Ответ отправил: Sov (статус: 1-ый класс)
Ответ отправлен: 16.04.2007, 07:35 Оценка за ответ: 4 Комментарий оценки: У меня только не работает прога. Пишет каждый раз "ошибка создания файла".
Отвечает: Зенченко Константин Николаевич
Здравствуйте, Blackie!
Книги посмотрите тут:
http://ihtik.lib.ru/complit_30nov2006n/
Для работы с файлами Вам нужны функции DOS:
в приложении только некоторые из них.
Удачи!
Приложение:
--------- И только наступив на грабли мы преобретаем драгоценный опыт!
Ответ отправил: Зенченко Константин Николаевич (статус: 10-ый класс)
Ответ отправлен: 16.04.2007, 12:05 Оценка за ответ: 5
Отвечает: Gwest
Здравствуйте, Blackie!
С начала файл должен быть открыт. (В конце имени файла должен стоять код 0)
mov dx,offset path ;путь к файлу пример: path db '1.txt',0
mov al,2 ;если 0-для чтения, 1-для записи, 2-для чтения и записи
mov ah,3dh ;функция открытия файла
int 21h
mov bx,ax
если ошибка то в АХ код ошибки иначе в АХ описатель файла его следует сохранить.
запись в файл
mov ah,40h ;номер функции записи в файл
mov dx,offset buf ; буфер определяется как buf db ?
mov cx,500 ;сколько записывать байт из буфера
int 21h
в ах число записаных байт в файл
чтение из файла
mov ah,3fh
mov dx,offset buf ; буфер определяется как buf db ?
mov cx,500 ;сколько считывать байт из файла
int 21h
в ах будет число считаных байт
В приложении пример программы которая к файлу 2.txt добавляет содержимое файла 1.txt
Приложение:
--------- Если играть трезвым багов становится меньше...
Ответ отправил: Gwest (статус: 3-ий класс)
Ответ отправлен: 16.04.2007, 15:42 Оценка за ответ: 5