2014-06-05 3 views
-3

루트로 변경 디렉토리에 대한 3bh/21h 인터럽트를 사용하려고 시도했지만 표시되지 않지만 작동하지 않습니다. 프로그램을 c :/폴더에 복사하고 실행합니다.현재 디렉토리를 루트로 변경하고 디스플레이하십시오.

.model tiny 

ORG 100h 
.DATA 


root db "\",0 
buf DB 64 dup('$') 

.CODE 
start: 
mov ax, @data 
mov ds, ax 



mov ah,3bh 
mov dx,offset root 
int 21h 

mov ah,47h 
mov si,offset buf 
mov dl,0  
int 21h   

mov ah,9   
mov dx,offset buf 
int 21h 


mov ax,4c00h 
int 21h 
end start 
+0

_ "작동하지 않음"_ 정의. – Michael

+0

@Michael, 아무 것도 표시되지 않습니다. – lifetowin

+1

시작할 때 적절한 오류 검사를 추가하는 것이 좋습니다. 사용중인 모든 디스크 인터럽트가 실패하면 오류 코드를 반환합니다. – Michael

답변

0

루트 경로에 경로 이름이 없기 때문에 아무 것도 표시하지 않습니다. 예 : 하위 디렉토리로 시도해보십시오. "\ tmp"(또는 기존의 것). 주의 : 8.3 경로 이름을 사용해야합니다. BTW

: 귀하의 조합

.model tiny 

ORG 100h 
.DATA 
... 
.CODE 
... 

은 잘못된 것입니다.

+0

다시 한번 감사드립니다. 카탈로그 변경 사항을 확인하고 싶은지 여부. – lifetowin

+0

오류 인 경우 캐리 플래그 (CF가 오류/CF 지우기에 성공했는지 확인)를 확인하십시오. –