|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
26.12.2011, 22:05 | #1 |
Новичок
Джуниор
Регистрация: 26.12.2011
Сообщений: 4
|
Ассемблер, запись в файл.
Здравствуйте, товарищи! Прошу помочь с решением следующей задачи:
Переместить первые две строки файла в конец, а на их место записать указатель на конец файла (jmp <метка>). С чтением первых двух строк я разобрался, метку в конец поместил, но как записать в начале пресловутое "jmp <метка>", попутно не затерев там имеющееся? Очень рассчитываю на вашу помощь, завтра сдавать. Компилятор TASM. Последний раз редактировалось rULEZ; 26.12.2011 в 22:23. |
26.12.2011, 22:47 | #2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
какой файл (какого типа)?
Какой в файле указатель? я лично вообще ничего не понял... |
26.12.2011, 22:58 | #3 |
Новичок
Джуниор
Регистрация: 26.12.2011
Сообщений: 4
|
Serge_Bliznykov
Файл txt, в нем содержится произвольное число строк произвольного содержания. |
27.12.2011, 00:18 | #4 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
На каком языке пишете программу? кроме того, раз файл текстовый, то приведите пример, какой файл может быть изначально, и какой он должен стать после обработки? |
|
27.12.2011, 00:36 | #5 | |
Новичок
Джуниор
Регистрация: 26.12.2011
Сообщений: 4
|
Цитата:
Пример содержания файла: hello mmm im trying to think up something end После обработки: jmp final something end hello mmm im trying to think up final: Я понимаю, что это задание выглядит полной бессмыслицей. Мне дали такую задачу как новичку в ассемблере, как я понимаю, следующим шагом будет модификация com-файлов схожим образом. |
|
27.12.2011, 11:54 | #6 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
значит алгоритм такой. 1) работу лучше всего вести в дополнительном (ВРЕМЕННОМ) файле. Это и проще, и намного надёжнее (если программа (по любой причине) отрубится на середине обработки файла - исходный файл не будет повреждён. 2) сразу же в выходной файл записываете jmp final 3) читаете входной файл в буфер, отслеживате в буфере позиции окончания строки (EndOfStr db 0dh, 0ah ). первые две пропускаете. Остальной текст ВЕСЬ записываете в выходной (временный файл). в цикле. пока исходный файл не закончится. закончился. Закрываете его. Дописываете в выходной файл метку. 4) если есть файл исходное_имя.BAK - удаляете его. 5) переименовыете исходный файл.расширение -> исходное_имя.BAK 6) переименовываете временный файл -> исходный файл.расширение выдаёте прощальное сообщение. конец. p.s. мороки с этим ассемблером много.. я бы лично менее, чем за 300 рублей не взялся за выполнение данной задачи. Цитата:
ну-ну... позвольте метафору: дали гвоздь и попросили молотком забить этот гвоздь в деревянный столб. А следующим шагом - Вас попросят забить такой же гвоздь в железобетонный столб. А ведь COM файл отличается от текстового больше, чем железобетонный от деревянного... |
||
27.12.2011, 13:03 | #7 | ||
Новичок
Джуниор
Регистрация: 26.12.2011
Сообщений: 4
|
Цитата:
Цитата:
|
||
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ассемблер(TASM) переименовать файл | BaronVik | Помощь студентам | 1 | 21.11.2011 08:27 |
Запись информации в файл в файл | Anubys | Win Api | 0 | 04.11.2011 23:27 |
Ассемблер,запись в файл | Onni | Помощь студентам | 0 | 09.03.2011 23:20 |
Как скомпилировать файл*на*Ассемблер | Yagamy Liet | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 9 | 16.08.2010 14:17 |