필자는 어떤 키 누르기에 따라 다른 기능을 포함하는 프로그램을 만들었습니다. 내 프로그램은 폴더를 만든 다음 그 폴더 안에 .txt 파일을 만듭니다. 폴더를 추가하고 확인하면서 .txt 파일의 업데이트 된 목록을 표시하고 싶습니다.조립 : 4eh 및 4fh를 사용하여 디렉토리에있는 파일을 포함하는 목록을 인쇄하십시오.
그러나 프로그램을 실행하면 만들어진 최신 .txt 파일 만 표시됩니다. 이 문제를 해결하고 모든 .txt 파일 목록을 표시하려면 어떻게해야합니까?
선언 된 변수 :
file_spec db "*.*", 0
DTA db 128h dup(0)
dirlist proc near
mov dx,offset DTA
mov ah,1ah
int 21h
mov dx,offset file_spec
xor cx, cx
mov ah,4eh
int 21h
call print_name
call next_char
ret
dirlist endp
print_name proc near
mov dx,10
lea si, DTA + 1eh
ret
print_name endp
next_char proc near
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
ret
next_char endp
"file_spec"은 어떤 모양입니까? 당신은'db "* .txt", 0'을 시도 했습니까? – Tommylee2k
코드 흐름이 잘못되었습니다. 'jnc print_name'은'print_name'으로 가서'dx'와'si'을 설정하고'dirlist'로 돌아가서 끝납니다. 파일을 반복하지 않습니다. – Jester
@Jester 어떻게 파일을 반복합니까? 죄송합니다. 아직 모든 기능에 익숙하지 않습니다. –