Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Ассемблер _ переписать с файла в фаил + найти слова

Автор: ilona 5.12.2006 3:37

помогите плз. . .
имею файл в котором записано несколько строк, надо в другой файл выписать все строки в которих каждое слово начинается на "b"из первого файлa
помогите кто как может. . .
спасибо

Автор: FreeMan 5.12.2006 13:15

lp:
push offset buff
call read_string ;должна быть реализована процедура считывания строки из файла
;конец строки 13,10 (поэтому если строка(обычно последняя) заканчивается на 0, требуется заменить его на 13)

;тут какаянибудь проверка (типа уже достигли конец файла)
test al,al
jz exit ;пример возможной проверки

mov si,offset buff
jmp lp3 ;а вдруг строка с пробела начинается
lp1:
lodsb ;проверка первой буквы
cmp al,'b'
jnz lp ;если не 'b', то к след строке
lp2:
lodsb ;поиск след. слова
cmp al,13
jz nx ;слов нима, конец строки
cmp al,' '
jnz lp2
lp3: ;удалить пробелы между словами
lodsb
cmp al,13
jz nx ;слов нима, конец строки
cmp al,' '
jz lp3 ;пробел - пропустить
dec si
jmp lp1 ;провереть слово

nx:
;достигнут конец строки, при чем все слова начинались с 'b'
push offset buff
call write_string ;должна быть реализованна процедура записи строки в файл
jmp lp
exit: