All pastes #807562 Raw Edit

asdf

public text v1 · immutable
·published 2007-12-06 20:29 UTC
rendered paste body
.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