经典汇编语言教程:附录4.2 设备和文件控制的说明

附录4.2 设备和文件控制的说明

使用语法:@Read  buffer,length [,[handle] [,segment]]
参数说明:<buffer>存放数据的缓冲区偏移量
<length>数据字节的长度
<handle>文件或设备的句柄,缺省值为0(键盘)
<segment>字符串的段地址,缺省值为DS
返回参数:若CF=0,则AX=读入的字节数
内容破坏:AX、BX、CX、DX和DS(若段改变了)
参见内容:Int 21h — 3FH,@Write

2.2、@Write:向文件或设备写数据

使用语法:@Write  buffer,length [,[handle] [,segment]]
参数说明:<buffer> 存放数据的缓冲区偏移量
<length>数据字节的长度
<handle>文件或设备的句柄,缺省值为1(屏幕)
<segment>字符串的段地址,缺省值为DS
返回参数:若CF=0,则AX=输出的字节数
内容破坏:AX、BX、CX、DX和DS(若段改变了)
参见内容:Int 21h — 40H,@Read

2.3、@MakeFile:创建一个文件

使用语法:@MakeFile path [,[attrib] [,[segment] [,kind]]]
参数说明:<path>文件名的地址
<attrib>文件的属性,缺省值为0
<segment>字符串的段地址,缺省值为DS
<kind>可用"tmp"/"new",若不指定,则创建一个新文件即使文件已存在
"tmp"创建一个唯一文件;
"new"创建一个新文件(在原文件不存在时)
返回参数:若CF=0,则AX=文件的句柄
内容破坏:AX、CX、DX和DS(若段改变了)
参见内容:Int 21h — 3CH、5AH和5B,@OpenFile@CloseFile

2.4、@OpenFile:为输入/输出而打开文件

使用语法:@OpenFile path,access [,segment]
参数说明:<path>文件名的地址
<access>常量,文件访问代码,缺省值为0(可读/写)
<segment>字符串的段地址,缺省值为DS
返回参数:若CF=1,则AX=错误代码
内容破坏:AX、DX和DS(若段改变了)
参见内容:Int 21h — 3DH,@MakeFile

2.5、@CloseFile:关闭文件句柄

使用语法:@CloseFile handle
参数说明:<handle>先前打开的文件句柄
返回参数:若CF=1,则AX=错误代码
内容破坏:AX和BX
参见内容:Int 21h — 3EH,@OpenFile@MakeFile

2.6、@DelFile:删除一个指定的文件

使用语法:@DelFile path [,segment]
参数说明:<path>文件名字符串的偏移量
<segment>路径的段地址,缺省值为DS
返回参数:若CF=1,则AX=错误代码
内容破坏:AX、DX和DS(若段改变了)
参见内容:Int 21h — 41H

2.7、@MoveFile:文件移动或换名

使用语法:@MoveFile old,new [,[segold] [,segnew]]
参数说明:<old>被换名的文件名字符串的偏移量
<new>新文件名字符串的偏移量
<segold>旧文件名的段地址,缺省值为DS
<segnew>新文件名的段地址,缺省值为ES
返回参数:若CF=1,则AX=错误代码
内容破坏:AX、DX、DI,DS和ES(若相应段改变了)
参见内容:Int 21h — 56H

2.8、@GetFirst:读取第一个匹配的文件
@GetNext:读取其它的匹配文件

使用语法:@GetFirst path [,[attribute] [,segment]]
@GetNext
参数说明:<path>指定文件的偏移量,可含通配符
<attribute>被搜索的文件属性,缺省值为0
<segment>路径的段地址,缺省值为DS
返回参数:若CF=1,则AX=错误代码
内容破坏:AX(二者),对@GetFirst,CX、DX和DS(若段改变了)
参见内容:Int 21h — 4EH和4FH,@SetDTA,@GetDTA

2.9、@GetDTA:读取DTA(Disk Transfer Address)
@SetDTA:设置DTA

使用语法:@SetDTA buffer [,segment]
@GetDTA
参数说明:<buffer>新DTA缓冲区的偏移量
<segment>新DTA缓冲区的段地址,缺省值为DS
返回参数:对@GetDTA,ES:BX=指向DTA的指针
内容破坏:对@GetDTA,AX、ES和BX
对@SetDTA,AX、DS和DX
参见内容:Int 21h — 2FH和1AH,@GetNext

2.10、@GetFileSize:读取文件大小

使用语法:@GetFileSize handle
参数说明:<handle>先前打开的文件句柄
返回参数:若CF=0,则,DX:AX=文件的大小
内容破坏:AX、BX、CX和DX
注意:该宏将把文件指针复位到0,所以,在文件操作过程中,不要使用该宏
参见内容:Int 21h — 42H

2.11、@MovePtrAbs:移动文件指针道一个绝对位置
@MovePtrRel:移动文件指针道一个相对位置

使用语法:@MovePtrAbs handle [,distance]
@MovePtrRel handle [,distance]
参数说明:<handle>先前打开的文件句柄
<distance>16位常量,或16/32位变量,缺省值是CX:DX
返回参数:若CF=0,则,DX:AX=文件指针的位置
内容破坏:AX、BX、CX和DX
参见内容:Int 21h — 42H

经典汇编语言教程·相关目录

第1章 汇编语言的由来,数据类型第2章 CPU资源和存储器
第3章 操作数的寻址方式第4章 标识符和表达式
第5章 微机CPU的指令系统第6章 程序的基本结构
第7章 子程序和库第8章 输入输出和中断
第9章 宏第10章 应用程序设计
第11章 数值运算协处理器第12章 汇编语言和C语言
汇编语言重要附录Windows API函数大全
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号