磁盘文件管理.pptVIP

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
广东海洋大学信息学院计算机科学与技术系 汇编语言 汇编语言 * 1 * 磁盘文件管理 1、 BIOS磁盘存取功能 2、 DOS磁盘存取功能 1 * 1、 BIOS磁盘存取功能 BIOS磁盘操作INT 13H处理的记录都是一个扇区的大小,都是以实际的磁道号和扇区号寻址的。比较复杂. 读、写和检查磁盘文件之前,都要把下列寄存器初始化: AH:子功能号(读2、写3、检查4或格式化5)。 AL:扇区数。 CH:柱面/磁道号(0为起始号)。 CL:起始的扇区号(1为起始号)。 DH:磁头/盘面号(对软盘是0或1)。 DL:驱动器号(软盘:0=驱动器A,1=驱动器B,…,硬盘:80H=驱动器1,81H=驱动器2,…。) ES:BX:数据区中I/O缓冲区的地址。 1 * 2、 DOS磁盘存取功能 DOS功能调用中断(INT 21H)提供的文件操作只要求给出文件名,相对要简单的多。 提供了两类磁盘文件管理功能,一类是FCB表控制方式,不支持子目录结构,使用相对麻烦;另一类是文件代号式存取方式,支持子目录结构,使用方便。 一、文件名 当用户需要打开或建立一个文件时,必须提供文件标识符。文件标识符用ASCII Z字符串表示。ASCII Z字符串是指文件标识符的ASCII字符串后面再加1个“0”字符。文件标识符的字符串包括驱动器名、路径名和文件名。其格式为 [d:][path]filename[.exe],0 其中d为驱动器名,path为路径名,.exe为文件名后缀。 1 * 例如,在d:盘的\masm目录下新建一个文件myfile.txt。 则需要在数据段定义如下的文件说明。 Filespec DB `d:\masm\myfile.txt`,0 二、文件属性 文件属性是一个字数据,但只定义了最低6位,其它位未定义。 D0=1,表示只读文件,打开只读文件只能用于读记录,不能改写记录。 D1=1,表示隐藏文件,使用DOS的DIR命令不能显示隐藏文件。 D2=1,表示系统文件。 D3=1,表示文件作为磁盘的卷标号,不是通常意义上的文件。 D4=1,表示文件作为子目录,不是通常意义上的文件。 D5=1,表示是已经归档的文件(若写入并关闭了文件,则归档位置1)。 一般情况下,用户文件只具有一种属性,如属性代码为00H的普通文件,属性代码为01H的只读文件,属性代码为02H的隐藏文件。重要的系统文件通常有多种属性,如属性代码为07H的文件,就具有只读、隐藏、系统三种属性。 1 * 3.文件代号 使用DOS系统功能调用INT 21H 建立文件或者打开文件成功后,文件代号作为出口参数由AX寄存器返回。文件代号是由系统分配的一个16位二进制数字,每个新建的文件或者打开的文件都分配一个唯一的代号。文件代号作为用户程序使用文件的唯一标识,用于程序对文件的操作,如读记录、写记录、关闭文件等操作都需要文件代号作为入口参数。 1 * 4.文件指针 使用DOS系统功能调用INT 21H 建立文件或者打开文件成功后,DOS系统自动提供一个文件指针来指示文件的当前位置。文件指针是一个32位二进制数,建立文件或者打开文件成功后,文件指针的初值为0,也就是指向文件的开始位置,以后每次对文件的读写操作,系统自动修改文件指针的值,使文件指针指向下一次要读写的位置,每次文件指针的移动位移量就等于读写文件的字节数。 1 * 1.建立文件(3CH) 功能:按指定文件名建立文件。 入口参数: (AH)=3CH, DS:DX指向ASCII Z字符串的段地址和偏移地址, (CX)=文件属性。 出口参数: 若操作成功,则CF=0,(AX)=文件代号; 若操作失败,则CF=1,(AX)=错误代码。 1 * 2.打开文件(3DH) 功能:打开由ASCII Z串指定的文件。 入口参数: (AH)=3DH, DS:DX指向ASCII Z字符串的段地址和偏移地址, (AL)=存取方式代码(0:读文件,1:写文件,2:读、写文件)。 出口参数: 若操作成功,则CF=0,(AX)=文件代号; 若操作失败,则CF=1,(AX)=错误代码。 1 * 3.关闭文件(3EH) 功能:关闭文件代号指定的文件。 入口参数: (AH)=3EH, (BX)=文件代号。 出口参数: 若操作成功,则CF=0; 若操作失败,则CF=1,(AX)=错误代码。 1 * 4.读文件(3FH) 功能:按文件代号读取文件。 入口参数: (AH)=3FH, (BX)=文件代号, (CX)=要读取的字节数; DS:DX指向接收数据缓冲区的段地址和偏移地址。 出口参数: 若操作成功,则CF=0,(AX)=实际读入字节数,(AX)

文档评论(0)

xiaohuer + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档