Assembly 我想创建一个文件,但它不起作用

Assembly 我想创建一个文件,但它不起作用,assembly,x86-16,emu8086,Assembly,X86 16,Emu8086,我正在尝试创建一个文件并写入该文件,但我还没有设法使创建文件正常工作。没有出现错误或任何内容,但文本文件没有出现。我读了一些关于他们的电子书,并查看了一些帖子,但这对我不起作用。这是我的密码: .model small .stack 100 .data filePath db "C:\Users\myUser\Desktop\io\name.txt",0 handler dw ? .code START: mov ax,@data

我正在尝试创建一个文件并写入该文件,但我还没有设法使创建文件正常工作。没有出现错误或任何内容,但文本文件没有出现。我读了一些关于他们的电子书,并查看了一些帖子,但这对我不起作用。这是我的密码:

.model small          
.stack 100
.data 


filePath db "C:\Users\myUser\Desktop\io\name.txt",0  
handler dw ?


.code
START:          
  mov  ax,@data
  mov  ds,ax

;create file
  mov  ah, 3ch
  mov  cx, 0
  mov  dx, offset filePath
  int  21h

  mov handler, ax  



    end start

中断后,
ax
的值是多少?进位标志的状态是什么?@fuz:虽然它不支持每次调用,但它支持使用int 3ch创建文件。我的猜测是设置了CF标志,值3作为错误代码出现在AL中,这将是路径未找到。问题是,在emu8086中运行emulated时,路径
C:\Users\myUser\Desktop\io\name.txt
实际上是
C:\emu8086\vdrive\C\Users\myUser\Desktop\io\name.txt
,我猜路径不存在。如果未指定驱动器,则它是相对于
c:\emu8086\MyBuild
而不是*c:\emu8086\vdrive\*@MIchael提出了正确的问题。AX中的值是多少?如果单击调试时显示寄存器的窗口上的
标志
按钮。。int 21h之后,进位标志(CF)中有什么内容。@MichaelPetch有趣。我快速查看了一下是否支持生成文件,发现不支持。这似乎是在最近的版本中添加的。谢谢@MichaelPetch,我将路径更改为c:\emu8086\MyBuild,它成功了!我想你现在应该把它作为一个答案发布,这样我就可以竖起大拇指了^^^,
ax
的值是多少,以及中断后进位标志的状态是什么?@fuz:虽然它不支持每次调用,但它支持使用int 3ch创建文件。我的猜测是设置了CF标志,值3作为错误代码出现在AL中,这将是路径未找到。问题是,在emu8086中运行emulated时,路径
C:\Users\myUser\Desktop\io\name.txt
实际上是
C:\emu8086\vdrive\C\Users\myUser\Desktop\io\name.txt
,我猜路径不存在。如果未指定驱动器,则它是相对于
c:\emu8086\MyBuild
而不是*c:\emu8086\vdrive\*@MIchael提出了正确的问题。AX中的值是多少?如果单击调试时显示寄存器的窗口上的
标志
按钮。。int 21h之后,进位标志(CF)中有什么内容。@MichaelPetch有趣。我快速查看了一下是否支持生成文件,发现不支持。这似乎是在最近的版本中添加的。谢谢@MichaelPetch,我将路径更改为c:\emu8086\MyBuild,它成功了!我想你现在应该把它作为答案贴出来,这样我就可以竖起大拇指了^^