.MODEL small .386 .STACK 100h .DATA nazwa DB 13 dup(0) path DB 13 dup(0) adres DW ? .CODE Start: mov ax,@data mov ds,ax mov bx,80h mov al,[es:bx] cmp al,0 je maska mov di,1 mov bx,82h mov si,0 wyraz: mov al,[es:bx+si] inc si cmp al,0Dh je plik add nazwa[di],al inc di jmp wyraz maska: mov nazwa[1],'*' mov nazwa[2],'.' mov nazwa[3],'*' jmp plik plik: mov bx,ds mov es,bx mov si,offset nazwa[1] mov di,offset path rep movsb mov ah,4Eh mov dx,offset path int 21h szukaj: mov ah,2fh ;*** pobierz adres bufora DTA *** int 21h mov adres,bx jc koniec mov si,0 wypisznazwe: mov dl,[es:bx][1Eh] ; nazwa inc bx cmp dl,0 je spacje inc si mov ah,2 int 21h jmp wypisznazwe spacje: cmp si,15 je data inc si mov dl,' ' mov ah,2 int 21h jmp spacje data: mov ax,[es:80h+18h] shr ax,9 add ax,1980 mov bl,10 div bl mov ch,ah mov ah,0 div bl mov dh,ah mov ah,0 div bl mov bh,ah mov dl,al add dl,'0' mov ah,2 int 21h mov dl,bh add dl,'0' int 21h mov dl,dh add dl,'0' int 21h mov dl,ch add dl,'0' int 21h mov dl,'-' mov ah,2 int 21h mov ax,[es:80h+18h] AND ax,01E0h shr ax,5 mov bl,10 div bl mov bh,ah mov dl,al add dl,'0' mov ah,2 int 21h mov dl,bh add dl,'0' mov ah,2 int 21h mov dl,'-' mov ah,2 int 21h mov ax,[es:80h+18h] AND ax,01Fh mov bl,10 div bl mov bh,ah mov dl,al add dl,'0' mov ah,2 int 21h mov dl,bh add dl,'0' mov ah,2 int 21h mov cx,2 spa: mov dl,' ' int 21h loop spa czas: mov ax,[es:80h+16h] AND ax,0F800h shr ax,11 mov bl,10 div bl mov bh,ah mov dl,al add dl,'0' mov ah,2 int 21h mov dl,bh add dl,'0' mov ah,2 int 21h mov dl,':' mov ah,2 int 21h mov ax,[es:80h+16h] AND ax,07E0h shr ax,5 mov bl,10 div bl mov bh,ah mov dl,al add dl,'0' mov ah,2 int 21h mov dl,bh add dl,'0' mov ah,2 int 21h mov dl,' ' int 21h mov dl,' ' int 21h mov cx,0 mov eax,[es:80h+1Ah] rozmiar: inc cx cdq mov esi,10 div esi push edx mov edx,0 cmp eax,0 jz shit jmp rozmiar shit: pop ebx add ebx,'0' mov edx,ebx mov ah,2 int 21h loop shit all: mov dl,10 mov ah,2 int 21h mov dl,13 int 21h mov ah,4Fh int 21h jc koniec jmp szukaj koniec: mov ah,4Ch int 21h END Start