1、DOS下文件操作原理
MS-DOS下文件操作通过int 21中断完成,所以可以通过配置AL、AH寄存器,然后通过int 21中断完成文件的创建、读写、关闭等动作。
2、DOS下INT 21寄存器配置说明
详情可参见http://spike.scu.edu.au/~barry/interrupts.html
其中AH表示EAX寄存低16位中的高八位,用来配置中断功能;AL表示EAX寄存低16位中的低八位,用来配置中断属性
3、示例
3.1、创建文件
mov dx, word ptr [bp+path] ;dx指向的地址为文件名
mov ah, 3Dh
mov al, 02h ;Al= access mode 0-read, 1-write, 2-read&write
int 21h
3.2、写入数据
mov ah, 40h
mov bx, [bp+handle] ;bx = file handle
mov cx, word ptr [bp+buf=2] ;cx = number of bytes to write
mov dx, word ptr [bp+buf] ;dx 指向写入数据的buffer
int 21h
3.3、关闭文件
mov ah, 3Eh
mov bx, si ;bx = file handle
int 21h