Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [ASM] вывести слова в кот-ых есть erv


Автор: mariaaa 10.11.2007, 21:07
Есть программа которая создает файл и записывает туда строку. Потом открывает любой файл, считывает его и выводит и выводит всё его содержимое на экран. А мне нужно чтобы выводились на экран только те слова, вкоторых есть сочетание букв erv. Помогите доделать программу пожалуйста!
Вот прога:
Код

ideal
model small
stack 256

dataseg
filename  db 40 dup(24h)
str1      db 80 dup(24h)
nl        db 10,13,24h
handle    dw 0
msg_file_create db '‚ўҐ¤ЁвҐ Ё¬п б®§¤ ў Ґ¬®Ј® д ©« :',10,13,24h
msg_file_open   db '‚ўҐ¤ЁвҐ Ё¬п ®вЄалў Ґ¬®Ј® д ©« :',10,13,24h
msg_str         db '‚ўҐ¤ЁвҐ бва®Єг:',10,13,24h
msg_er_create   db 'ЋиЁЎЄ  ЇаЁ б®§¤ ­ЁЁ д ©« !',10,13,24h
msg_er_open     db 'ЋиЁЎЄ  ЇаЁ ®вЄалвЁЁ д ©« !',10,13,24h

codeseg
startupcode

; Ї®«г祭ЁҐ Ё¬Ґ­Ё б®§¤ ў Ґ¬®Ј® д ©« 
mov ah,09h
lea dx,[msg_file_create]
int 21h
mov ah,0Ah
lea dx,[filename]
int 21h
mov ah,09h
lea dx,[nl]
int 21h

; ASCII -> ASCIIZ
xor ax,ax
mov al,[filename+1]
mov si,ax
mov [filename+2+si],0

; б®§¤ ­ЁҐ д ©« 
xor cx,cx
mov ah,3Ch
lea dx,[filename+2]
int 21h

jnc next1

er_create:
mov ah,09h
lea dx,[msg_er_create]
int 21h
jmp exit

next1:
mov [handle],ax

; Ї®«г祭ЁҐ бва®ЄЁ
mov ah,09h
lea dx,[msg_str]
int 21h
mov ah,0Ah
lea dx,[str1]
int 21h
mov ah,09h
lea dx,[nl]
int 21h

; § ЇЁбм бва®ЄЁ
xor cx,cx
mov cl,[str1+1]
mov bx,[handle]
lea dx,[str1+2]
mov ah,40h
int 21h

; § ЄалвЁҐ д ©« 
mov ah,3Eh
int 21h

; Ї®«г祭ЁҐ Ё¬Ґ­Ё ®вЄалў Ґ¬®Ј® д ©« 
mov ah,09h
lea dx,[msg_file_open]
int 21h
mov ah,0Ah
lea dx,[filename]
int 21h
mov ah,09h
lea dx,[nl]
int 21h

; ASCII -> ASCIIZ
xor ax,ax
mov al,[filename+1]
mov si,ax
mov [filename+2+si],0

; ®вЄалвлҐ д ©« 
mov ah,3Dh
mov al,00b
;mov al,2
lea dx,[filename+2]
int 21h
jnc next2

er_open:
mov ah,09h
lea dx,[msg_er_open]
int 21h
jmp exit

next2:
mov [handle],ax
mov bx,ax

; з⥭ЁҐ д ©« 
read:
mov ah,3Fh
mov cx,79
lea dx,[str1]
int 21h

mov di,ax
mov [str1+di],24h

; ўлў®¤ бзЁв ­­ле ¤ ­­ле
mov ah,09h
lea dx,[str1]
int 21h

cmp di,cx
jb close
jmp read

; § ЄалвЁҐ д ©« 
close:
mov bx,[handle]
mov ah,3Eh
int 21h

exit:
exitcode
end

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)