我试图制作一个程序,找到小于特定大小的文件。需要搜索的文件夹程序在开头指定。我使用DOSBOX,TASM和TLINK。 这是一些相关的代码:
mov ax, @data
mov ds, ax
PrepDTA:
mov dx,OFFSET DTA ; DS:DX points to DTA
mov ah,1AH ; function 1Ah - set DTA
int 21h ; call DOS service
WorkWithFiles:
FindFirst:
mov cx,3fh
mov si, offset DTA
mov ah, 4eh
mov dx, offset Folder
int 21h
cmp al, 0FFh
je NeraFailu
jmp FileSize
FindNext:
mov si, offset DTA
mov ah, 4fh
mov cx,3fh
mov dx, offset Folder
int 21h
jc NoMoreFiles
jmp FileSize
FileSize:
mov si, offset DTA+26
mov bh, 4
因此,当我运行该程序时,DTA
被FindFirst
设置为某个不在,而在FindNext
上它会跳转到NoMoreFiles
。我指定的目录中有2个文件,但无论我指定的目录DTA
是否相同。我最后尝试添加*.*
,改变了属性中文件的安全性,但没有任何作用。有什么想法吗?