Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .model tiny
- .code
- org 100h
- start:
- PRINT MACRO buffer
- pusha
- mov ah, 9
- lea dx, buffer
- int 21h
- popa
- ENDM
- pusha
- xor cx, cx
- mov cl, es:[80h]
- cmp cl, 0
- je end_get_name
- mov di, 82h
- lea si, searchPath
- mov [si], '.'
- inc si
- mov [si], '\'
- inc si
- cicle1:
- mov ah, 2
- mov al, es:[di]
- mov dl, al
- int 21h
- cmp al, " "
- je end_get_name
- mov [si], al
- inc di
- inc si
- jmp cicle1
- end_get_name:
- mov [si], '\'
- inc si
- mov [si], "*"
- inc si
- mov [si], "."
- inc si
- mov [si], "*"
- inc si
- mov [si], 0
- mov [si + 1], "$"
- inc di
- lea si, searchPath2
- mov [si], '.'
- inc si
- mov [si], '\'
- inc si
- cicle2:
- mov al, es:[di] ;Çàíîñèì â al ïîñèìâîëüíî çíà÷åíèå êîìàíäíîé ñòðîêè
- mov dl, al
- mov ah, 2
- int 21h
- cmp al, 0DH ;0Dh - òîâàðèù Enter, îí æå âîçâðàò êàðåòêè
- je end_get_name2
- mov [si], al ;çàíîñèì ñèìâîë èç êîì.ñòðîêè â filename
- inc di ;íà ñëåäóþùèé ñèìâîë
- inc si
- jmp cicle2
- end_get_name2:
- mov [si], '\'
- inc si
- mov [si], "*"
- inc si
- mov [si], "."
- inc si
- mov [si], "*"
- inc si
- mov [si], 0
- inc si
- mov [si], "$"
- popa
- print searchPath2
- print searchPath
- print output
- mov ah,1ah
- mov dx,offset dta
- int 21h
- ; FindFirstFile
- mov ah,4eh
- xor cx,cx
- mov dx,offset searchPath2
- int 21h
- jc quit
- mov dx, offset dta + 1eh
- xor cx, cx
- push cx
- jmp LAST
- AGAIN:
- pop cx
- inc cx
- push cx
- mov ah,4eh
- mov dx,offset searchPath2
- int 21h
- jc quit
- poop1:
- mov ah,4fh
- int 21h
- jc quit
- loop poop1
- LAST:
- mov ah,9
- mov di, offset dta + 1eh
- mov si, offset first
- loop1:
- mov al, [di]
- mov [si], al
- inc si
- inc di
- cmp [di], 0
- mov al, [di]
- mov [si], al
- jne loop1
- mov [si], 0
- mov dx, [si]
- mov [si + 1], "$"
- mov ah, 9
- ; int 21h
- ; print first
- mov si, offset first
- mov di, offset dta + 1eh
- mov ah,4eh
- xor cx,cx
- mov dx,offset searchPath
- int 21h
- jc quit
- mov dx, [si]
- mov ah, 9
- ; int 21h
- print_filename:
- mov ah,9
- mov di, offset dta + 1eh
- mov si, offset first
- add di, 1
- add si, 1
- loop2:
- inc si
- inc di
- mov al, [si]
- cmp [di], al
- jne NST
- jmp loop2
- NST:
- cmp [si], "$"
- jne NEXT
- print first
- NEXT:
- mov ah,4fh
- mov dx,offset dta
- int 21h
- jnc print_filename
- jmp again
- quit:
- xor ax,ax
- int 16h
- mov ah,4ch
- int 21h
- ; data
- searchPath db "wowwowwowwowwow"
- searchPath2 db "wowwowwowwowwow"
- dta db 2ch dup (?)
- db "$"
- wow db "WOW", "$"
- output db "That's files with the same names", 10, 13, "$"
- first db 14, 0, 14 dup("$")
- second db 14, 0, 14 dup ("$")
- end start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement