Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Запись в файл(переход на новую строку)

29K
06 декабря 2008 года
Rifler
24 / / 12.05.2008
Здраствуйте всем

Такой вопрос - как записать в файл несколько строк? А то пишет только в одну, пытался вставлять 13, 0ah, 0dh - че то не выходит. Вот начало, тут открытие файла, установка курсора в конец и запись. Что дописать чтобы курсор перешел на новую строку?
Код:
lea dx, pathf1
mov al,2
mov ah,3dh
int 21h

mov bx,ax
mov cx,0
mov dx,0
mov al,2
mov ah,42h
int 21h

mov ah,40h
mov bx,handle1
mov cx,5
lea dx,data_buffer
int 21h

PS: и еще у меня в задании такой вопрос - вывод на экран последней строки текстового файла. Не поможете?
PPS: что такое FCB и DTA? Читаю Журдена, там везде это используется, а что это такое - не написано :(

Заранее спасибо :):)
29K
06 декабря 2008 года
Rifler
24 / / 12.05.2008
Цитата: Rifler
Здраствуйте всем

Такой вопрос - как записать в файл несколько строк? А то пишет только в одну, пытался вставлять 13, 0ah, 0dh - че то не выходит. Вот начало, тут открытие файла, установка курсора в конец и запись. Что дописать чтобы курсор перешел на новую строку?


Please help

31K
06 декабря 2008 года
dreamer.mas
69 / / 15.11.2008
Во-первых, 13=0Dh, а во-вторых, в венде и, если я не ошибаюсь, DOS, сигналом к переносу каретки является сочетание символов 0Ah и 0Dh. Просто запишите оба символа подряд.

Относительно FCB и DTA - это сюда :)
29K
06 декабря 2008 года
Rifler
24 / / 12.05.2008
Цитата: dreamer.mas
Во-первых, 13=0Dh, а во-вторых, в венде и, если я не ошибаюсь, DOS, сигналом к переносу каретки является сочетание символов 0Ah и 0Dh. Просто запишите оба символа подряд.


Я так уже пытался, не хавает. Пишет крокозябли-квадратики......:(

31K
06 декабря 2008 года
dreamer.mas
69 / / 15.11.2008
Нужно записывать сначала 0xDh, потом 0xAh
29K
06 декабря 2008 года
Rifler
24 / / 12.05.2008
Спасибо-спасибо огромное!
29K
07 декабря 2008 года
Rifler
24 / / 12.05.2008
Цитата: Rifler
Вывод на экран последней строки текстового файла.


С этим не поможешь?

31K
07 декабря 2008 года
dreamer.mas
69 / / 15.11.2008
Я с досом в асме работал очень мало.
1.6K
10 декабря 2008 года
Vov4ick
476 / / 01.02.2007
Я с досом в асме работал очень мало.
Очевидно в венде тоже, ибо принципы нисколько не отличаются. А здесь вообще спрашивают об алгоритме.
Очевидно нужно организовать циклическое построчное чтение файла, выход из цикла происходит при достижении конца файла, и на экран выводим содержимое последней строки.

Для работы с файлами советую использовать функции ДОС версий старше 3, использующие файловые номера, ибо функции, работающие с FCB идут со времён, когда иерархической структуры каталогов не существовало и все файлы на диске лежали в корне. В современных условиях это может сильно затруднить работу.
31K
10 декабря 2008 года
dreamer.mas
69 / / 15.11.2008
О, друг мой, если Ваше чувство собственной важности завершило свой процесс [SIZE="1"][FONT="Times New Roman"]испражнения[/FONT][/SIZE] излияния в форум, прошу внять, что: а) не имею привычки работать в венде с файлами с помощью ассемблера б) что-то мне подсказывает, что тогда как в DOS чтение файла происходит через одно лишь (0x21, если я не ошибаюсь) прерывание, в венде это происходит с помощью вызовов API функций, что не тянет на "нисколько не отличаются" в) автор не указал, что ему необходимо (я склоняюсь к варианту, что ему как раз нужна помощь с кодом), а Ваш "алгоритм" не лучше чем "приделать руль и 4 колеса" для автомобилестроителя.
1.6K
12 декабря 2008 года
Vov4ick
476 / / 01.02.2007
Цитата: dreamer.mas
что-то мне подсказывает, что тогда как в DOS чтение файла происходит через одно лишь (0x21, если я не ошибаюсь) прерывание, в венде это происходит с помощью вызовов API функций, что не тянет на "нисколько не отличаются"


Разница лишь в инструкции. DOS API вызываются инструкцией INT, winAPI - CALL. Те же функции работы с файлами, те же их параметры (если не брать в расчёт безопасность), те же принципы.
(я склоняюсь к варианту, что ему как раз нужна помощь с кодом)
Я, к сожалению, не такой хороший телепат. Но хочу, чтобы человек хоть чему-то научился, кроме того, как копировать текст из одного окошка в другое.
Ваш "алгоритм" не лучше чем "приделать руль и 4 колеса" для автомобилестроителя.
Предложите свой. Здесь свобода слова и я не говорил, что нужно делать так и только так.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог