sega segment assume cs:sega,ds:sega org 100h beg: xor si,si again: push si mov ah,3dh ;открытие файла mov al,2 ;атрибут 2-чт-з mov dx,fnames[si] int 21h mov handle,ax mov si,0 mov di,0 m1: mov ah,42h ;установка указ mov al,0 ;код метода смещ 0-абс смещ mov bx,handle mov cx,0 mov dx,t ;младш часть смещ t int 21h ;в начале t=0 mov ah,3fh ;чтение ф mov bx,handle mov cx,6 ;сколько читать lea dx,buf ;куда читать int 21H a1: mov di,si mov ah,01h int 21h mov t1[si],al mov bl,buf[di] cmp al,bl jne m4 inc si inc di cmp si,6 cmp di,6 jne a1 je m2 m4: add t,6 ;не нашли -переходим к след inc si cmp si,6;'''5 jne m1 ;если все просмотрели и не mov ah,09h ;нашли то выход lea dx,tx1 int 21h m3: mov ah,08h int 21h pop si cmp si,fcnt je over inc si jmp again over: int 20h m2: mov ah,09h ;нашли и вывели на экран lea dx,tx2 int 21h mov ah,40h lea dx,buf mov cx,6 mov bx,1 int 21h jmp m3 tx1 db ' не найдена ','$' tx2 db ' найдена ','$' t dw 0 fname db 'wesna.dat',0 fname2 db 'f1.txt',0 fname3 db 'f2.txt',0 fname4 db 'f3.txt',0 fname5 db 'f5.txt',0 fnames dw fname,fname2,fname3,fname4,fname5 fcnt dw 5 handle dw ? buf db ' ' t1 db ' ' sega ends end beg |