- 1、本文档共36页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
磁盘文件存取操作程序设计 磁盘文件管理DOS功能调用 磁盘文件存取操作程序设计举例 磁盘文件存取技术 对于磁盘上以文件形式组成的信息,可以通过以下方式访问: 使用一些实用程序如WORD、EDIT等; 使用INT 21H的文件管理功能; 通过目录项、文件分配表找到文件所在扇区,从而访问它。 磁盘文件管理DOS功能调用 DOS提供了使用文件描述字(句柄)的文件操作功能调用,使得用户可以从逻辑角度使用文件,而不是从物理角度使用磁盘存储器。 可以将程序和数据以文件的形式进行存储、修改及读出等,避开了对磁盘存储器设备具体的复杂的管理和操作。 表 标准字符设备句柄 常用句柄式文件管理功能 建立文件(功能号3CH) 功能:创建指定的文件。 调用参数:AH=3CH,DS:DX指向要创建的文件说明字符串,该串应以0结尾。 CX=文件属性,属性可以组合,例如06H为隐含的系统文件。标准文件属性为0,即该文件可读写。 返回参数:若调用成功,则CF=0,AX=文件句柄(handle),否则CF=1... 说明:若创建成功,建议把AX中返回的文件句柄保存在一个变量中,以便后边对该文件的操作。若说明的文件已经存在,则该文件长度被截0。 调用格式: MOV DX,OFFSET BUFFER;DS:DX指 向文件标识符 MOV AH,3CH MOV CX,文件属性代码 INT 21H 打开文件(功能号3DH) 调用格式:MOV DX,OFFSET BUFFER ;DS:DX指向文件标识符 MOV AH,3DH MOV AL,0(或1,2) INT 21H 功能:在指定或缺省的磁盘目录下查找并打开指定的文件,为读写文件返回一个文件描述字。 调用参数:AH=3DH,DS:DX指向要打开的文件说明字符串,该串应以0结尾。 AL=访问模式。 返回参数:若调用成功,则CF=0,AX=文件句柄。否则CF=1,AX=错误码。 说明:若打开成功,建议把AX中返回的文件句柄保存在一个变量中,以方便后边对该文件的操作。 错误类型码 错误类型码 含义 1 无效功能号 2 文件未找到 3 路径未找到或文件不存在 4 无文件描述字或打开文件太多 5 拒绝存取(访问失败) 6 无效文件描述字 7 内存文件控制块被破坏 8 存取码无效,无效访问 12 存取码无效,无效访问 13 无效数据 15 指示了无效的驱动器 关闭文件(功能号3EH) 调用格式: MOV AH,3EH MOV BX,文件描述字 INT 21H 功能:将内部缓冲区中的文件送磁盘,关闭文件。若文件被修改,则目录项中的日期、时间和文件大小被修改。 调用参数:AH=3EH,BX=文件句柄。 返回参数:若调用成功,则CF=0。否则CF=1,AX=错误码。 说明:BX中的文件句柄应是由前边的成功创建或打开文件功能得到的。若3EH功能调用成功,则把内部缓冲区的内容全部放入盘中,关闭文件,并释放文件句柄以供它用。若文件被修改或扩充,在目录项中的日期、时间和文件长度均被修改。 读文件(功能号3FH) 调用格式: MOV DX,OFFSET BUFFER ;指向文件存入的缓冲区 MOV BX,文件描述字 MOV CX,文件的字节数 MOV AH,3FH INT 21H 功能:按照有效的文件描述字,从磁盘文件的当前指针下读文件到缓冲区,长度由CX决定。 调用参数:AH=3FH,BX=文件句柄,CX=要读的字节数,DS:DX=读缓冲区的首地址。 返回参数:若调用成功,则CF=0,AX=实际读的字节数,若AX=0,则表示文件结束。若调用失败,则CF=1,AX=错误码。 说明:该功能的文件句柄也可以是预定义的标准设备(如键盘),此时可以实现从标准设备读字符的功能。 写文件(功能号40H) 调用格式:MOV AH,40H LEA DX,BUFFER ;DS:DX指向数据缓冲区 MOV BX,文件描述字 MOV CX,数据长度(字节数) INT 21H 功能:按照有效的文件描述字,把缓冲区数据写到磁盘文件当前指针下,长度由CX决定。 调用参数:AH=40H,BX=文件句柄,CX=要写的字节数,DS:DX=写缓冲区的首地址。 返回参数:若调用成功,则CF=0,AX=实际写的字节数,若AX=0,则表示盘满。若调用失败,则CF=1,AX=错误码。 说明:该功能的文件句柄也可以是预定义的标准输出设备(如显示器),此时可以实现输出到设备的功能。 移动读写指针(功能号42H) 调用格式: MOV AH,42H MOV AL,移动方式码 MOV
文档评论(0)