Assembly 将当前目录更改为根目录并显示它

Assembly 将当前目录更改为根目录并显示它,assembly,dos,16-bit,tasm,Assembly,Dos,16 Bit,Tasm,我试图使用中断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

我试图使用中断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

它不显示任何内容,因为根路径没有路径名。请尝试使用子目录,例如“\tmp”(或现有目录)。注意:必须使用8.3路径名

顺便说一句:你的组合

.model  tiny

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

是错误的。

定义“不起作用”。@Michael,它不会显示任何内容。最好从添加一些错误检查开始。所有你正在使用的磁盘中断,如果失败,返回错误代码。再次感谢。是否只想检查目录更改。如果是错误,请尝试检查进位标志(CF set on error/CF clear if successful)。