マシンの問題は、アセンブリ言語を使用して、異なるディレクトリにある同様のファイル名を持つファイルを見つけて表示することです..tasm&tlinkまたはエミュレータ8086を使用してコンパイルされたコンソールプログラム...
私が試したコードは次のとおりです。ファイルのリストのみが表示されます。私の問題は、同様のファイル名を持つファイルのみを表示する方法がわからないことです..私の問題に関するアイデアは本当にありがたいです。ありがとう ..
.model small, c
.stack
.data
file_spec db "*.*", 0
DTA db 128h dup(0)
buffer db 30 dup(0)
.code
main proc
mov ax, @Data
mov ds, ax
mov dx,offset DTA
mov ah,1Ah
int 21h ; set DTA location
mov dx,offset file_spec
xor cx, cx
mov ah,4Eh
int 21h
jc quit
print_name:
lea si, DTA + 30
next_char:
lodsb
int 29h
test al, al
jnz next_char
mov al, 13
int 29h
mov al, 10
int 29h
mov dx, offset file_spec
xor cx, cx
mov ah, 4fh
int 21h
jnc print_name
quit:
mov ax, 4c00h
int 21h
main endp
end main
これは私が試した別のソースコードです。今回は int 21h 、 4eh 、 4fh (MS Dos で) を使用しました。同様のファイル名を持つファイルのみを表示できるようにこのコードを拡張するのを手伝ってくれませんか? どんな種類の助けも大歓迎です。前もって感謝します..
.model small, c
.stack
.data
file_spec db "*.*", 0
DTA db 128h dup(0)
.code
main proc
mov ax, @Data
mov ds, ax
mov dx,offset DTA
mov ah,1Ah
int 21h
mov dx,offset file_spec
xor cx, cx
mov ah,4Eh
int 21h
jc quit
print_name:
lea si, DTA + 1eh
next_char:
lodsb
int 29h
test al, al
jnz next_char
mov al, 13
int 29h
mov al, 10
int 29h
mov dx, offset file_spec
xor cx, cx
mov ah, 4fh
int 21h
jnc print_name
quit:
mov ax, 4c00h
int 21h
main endp
end main