gpt4 book ai didi

assembly - 在 DOSBox 中打开文件句柄会清除文件的数据

转载 作者:行者123 更新时间:2023-12-02 21:38:46 24 4
gpt4 key购买 nike

在 DOSBox 0.74 中,当我尝试使用 int 21h 的函数 3ch 打开任何文件上的文件句柄时,文件的数据将被清除,大小永久减小为 0 字节。

我测试过的文件都位于 Windows 10 的文档目录中,该目录作为 DOSBox 中的 E 盘安装。

这是导致问题的代码。它应该打开然后关闭文件句柄。 CF 从未设置,因此没有错误代码。 AX 中的文件句柄设置为 5。

    mov ax, varData                            
mov ds, ax ;Load the variable segment into ds
;word variable handle is defined here
;string fname is defined here

mov ah, 3ch ;select open file handle function
lea dx, fname ;dx points to file's name ("TESTFILE")
mov cl, 1 ;read only
int 21h ;open the file handle
mov handle, ax ;copy handle into variable

mov ah, 3eh ;close handle function
mov bx, handle ;closing previously opened file handle
int 21h ;close handle

最佳答案

this :

ah = 0x3c 是“创建文件”。您需要 0x3d(打开文件)。

关于assembly - 在 DOSBox 中打开文件句柄会清除文件的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50617470/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com