Vyt*_*kas 2 x86 assembly file-attributes dosbox
我对汇编很陌生,最近我一直在努力使 INT 21,43 (将文件属性更改为只读)工作。我正在使用 Windows 10、DOSBox x86 和 Turbo 汇编器/链接器/调试器(如果这有什么区别的话)。据我所知,使用调试器,它应该可以工作(CF 未设置,并且根据文档,我没有得到应有的错误代码)。另外,如果我使用相同的 INT 21,43 获取(将 al 设置为 0)文件的文件属性,该文件已手动设置为只读,则 CX 设置为 20,据我所知,这不会使有道理,但 CF 没有设置好,所以它说它有效。我希望你能帮我解决这个问题,提前致谢。
.model small
.stack 100h
.data
filename db "temp.txt",0 ; my file name
.code
start:
mov dx, @data
mov ds, dx
mov ah, 43h
mov al, 01h ; Set file attribute
mov cx, 01h ; 1 = read-only
lea dx, filename ; Set pointer to filename
int 21h
mov ah, 4ch ; Return to DOS
mov al, 0
int 21h
end start
Run Code Online (Sandbox Code Playgroud)
我刚刚尝试从 DOSBox 中运行的程序设置 ReadOnly 属性,但它不起作用。
DOSBox 的帮助help /all报告称该ATTRIB命令不执行任何操作,并且它只是为了兼容性而提供的。因此按理说,DOS.function 43h(获取/设置文件属性)不会被实现。
由于 DOSBox 主要是为了模拟旧的 DOS 游戏,因此可能没有理由想要更改属性。
| 归档时间: |
|
| 查看次数: |
310 次 |
| 最近记录: |