Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.04.2012, 00:44   #1
oinari
 
Регистрация: 10.10.2010
Сообщений: 4
По умолчанию Перемещение указателя в файле назад от текущей позиции

Доброго времени суток.
Есть такой вопрос: как переместить указатель в файле назад от текущей позиции назад на N символов? а потом читать посимвольно...

этот фрагмент перемещает вперед, а назад как?

mov ax,4201h ; переместить указатель файла от текущей
xor dx, dx
xor cx, cx
mov dl, 1
oinari вне форума Ответить с цитированием
Старый 23.04.2012, 02:33   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

из TechHelp описания 42-й функции прерывания MS DOS:
Цитата:
Код:
 Expects: AH    42H
          BX    file handle
          CX:DX distance to move file pointer: offset is (CX * 65536) + DX
          AL    subfn: 0 = move pointer to start of file + CX:DX
                       1 = move pointer to current position + CX:DX
                       2 = move pointer to end of file + CX:DX
          ------------------------------------------------------------------
 Returns: AX    error code if CF is set to CY
          DX:AX new position of file read/write pointer (if no error)
          ------------------------------------------------------------------
    Info: This moves the logical read/write pointer to the desired address.
          All file reads and writes will start from the new address.
Вам нужно изменять адресацию на смещение от начала файла (AL=0), тогда смещение можно уменьшать...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 23.04.2012, 19:49   #3
oinari
 
Регистрация: 10.10.2010
Сообщений: 4
По умолчанию

уважаемые, я знаю теорию спасибо
но не могу ее применить к практике... к сожалению...

напишите пожалуйста пример, который действительно работает...
это не сложно и займет не много времени...
допустим: читаем текстовый файл содержащий: oinari()oinari
дошли до скобочки (
вернулись на три символа назад
и далее уже читаем до конца, т.е. получается прочитано: oinari(ari()oinari
oinari вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
WAV-файл удалить до текущей позиции DenisMaster Мультимедиа в Delphi 3 12.09.2011 20:54
Построчное перемещение курсора в текстовом файле [С++] Modo Помощь студентам 0 29.11.2010 20:43
Программное перемещение указателя мыши по экрану. LENINGOLD Общие вопросы Delphi 3 30.11.2009 01:58
Перемещение указателя на следующую запись Avalonix БД в Delphi 6 31.05.2008 11:13
Перезапись файла в текущей позиции Андрей= Общие вопросы Delphi 2 08.05.2008 17:19