我必须编写一个TASM程序,其中创建了一个只读文件。我创建了该文件,但它不是只读的。怎么了?这是代码:
model small
.data
handle dw 0
filename db "file2.txt",0
.stack 256
.code
main:
mov ax,@data
mov ds,ax
mov ah,3ch
mov cx,1
lea dx,filename
int 21h
jc exit
mov handle,ax
exit:
mov ax,4c00h
int 21h
end main
修改:我将mov cx,1
更改为mov cx,01h
并且有效。
P.S:我也希望隐藏文件
我又一次改为mov cx,03h
并完成了。创建的文件是只读和隐藏的。
答案 0 :(得分:2)
Bit 7 = 1: Shareable
Bit 6 = 1: Archive
Bit 5 = 1: Directory
Bit 4 = 1: Volume (ignored)
Bit 3 = 1: Label
Bit 2 = 1: System
Bit 1 = 1: Hidden
Bit 0 = 1: Read-only
编辑: 我的原始答案是不正确的,因为我说的值是按位的,所以为了清晰起见,十进制将是:
mov cx, 0 ; No attributes.
mov cx, 1 ; Read-only.
mov cx, 2 ; Hidden.
mov cx, 4 ; System
mov cx, 16 ; Archive
对于多个属性,将值一起添加。
这意味着CX的值在原始帖子中是正确的,因为1是1,无论是十进制还是十六进制(或二进制),所以无论你做了什么改变,都不应该解决它。
很高兴你得到了它。