《第十一章磁盘存取技术.ppt》由会员分享,可在线阅读,更多相关《第十一章磁盘存取技术.ppt(13页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、第11章 磁盘文件存取技术文件概述文件操作的系统功能调用11.1 文件概述 数据文件的建立及对数据文件的读写等操作称为文件操作。同汇编语言源程序是通过编辑软件建立不同,数据文件是通过用户编写程序建立的,DOS操作系统为用户建立数据文件以及使用数据文件提供了一系列系统功能调用,用户只要掌握这些系统功能调用的正确使用就可以很方便的建立数据文件以及使用建立的数据文件,避免了在文件操作时直接对计算机硬件操作。INT 21H提供的文件操作包括传统的文件管理和扩充的文件管理两种方法。传统的文件管理方法使用文件控制块FCB(File Control Block),它是DOS早期版本提供的文件操作,不支持子目
2、录结构,使用相对麻烦;扩充的文件管理方法使用文件代号,支持子目录结构,使用方便。本章介绍的文件操作使用INT 21H的文件代号。文件操作既可以通过BIOS的中断服务INT 13H,也可以使用DOS系统功能调用INT 21H 。INT 13H提供的文件操作要求给出磁头号、磁道号、扇区号等磁盘物理参数,比较复杂;而INT 21H提供的文件操作只要求给出文件名,相对要简单的多。例11.1:在d:盘的masm目录下新建一个文件 myfile.txt。则需要在数据段定义如下的文件说明。Filespec DB d:masmmyfile.txt,0一、文件说明文件说明要指出文件名、所在路径、盘符以及一个空字
3、符(ASCII码值为0)。具体格式如下:dd:path path filename.txtfilename.txt,0 0二、文件属性 文件属性是一个字数据,但只定义了最低6位,其它位未定义。D0=1:表示只读文件,打开只读文件只能用于读 记录,不能改写记录。D1=1:表示隐藏文件,使用DOS的DIR命令不能显示 隐藏文件。D2=1:表示系统文件。D3=1:表示文件作为磁盘的卷标号,不是通常意义 上的文件。D4=1:表示文件作为子目录,不是通常意义上的文 件。D5=1:表示是已经归档的文件(若写入并关闭了文 件,则归档位置1)。一般情况下,用户文件只具有一种属性,如属性代码为00H的普通文件,
4、属性代码为01H的只读文件,属性代码为02H的隐藏文件。重要的系统文件通常有多种属性,如属性代码为07H的文件,就具有只读、隐藏、系统三种属性。三、文件代号 使用DOS系统功能调用INT 21H 建立文件或者打开文件成功后,文件代号作为出口参数由AX寄存器返回。文件代号是由系统分配的一个16位二进制数字,每个新建的文件或者打开的文件都分配一个唯一的代号。文件代号作为用户程序使用文件的唯一标识,用于程序对文件的操作,如读记录、写记录、关闭文件等操作都需要文件代号作为入口参数。三、文件指针 使用DOS系统功能调用INT 21H 建立文件或者打开文件成功后,DOS系统自动提供一个文件指针来指示文件的
5、当前位置。文件指针是一个32位二进制数,建立文件或者打开文件成功后,文件指针的初值为0,也就是指向文件的开始位置,以后每次对文件的读写操作,系统自动修改文件指针的值,使文件指针指向下一次要读写的位置,每次文件指针的移动位移量就等于读写文件的字节数。11.2文件操作的系统功能调用表11-1 INT21H功能调用中的文件操作AH功能入口参数出口参数3CH建立文件CX=文件属性DS:DX=文件说明地址CF=0,调用成功,AX=文件代号CF=1,调用失败,AX=错误代码3DH打开文件AL=访问方式DS:DX=文件说明地址CF=0,调用成功,AX=文件代号CF=1,调用失败,AX=错误代码3EH关闭文件
6、BX=文件代号CF=0,调用成功CF=1,调用失败,AX=错误代码3FH读文件BX=文件代号CX=读文件的字节数DS:DX=文件缓冲区地址CF=0,调用成功,AX=实际读入的字节数CF=1,调用失败,AX=错误代码40H写文件BX=文件代号CX=写文件的字节数DS:DX=文件缓冲区地址CF=0,调用成功,AX=实际写入的字节数CF=1,调用失败,AX=错误代码42H移动文件指针BX=文件代号AL=移动方式CX:DX=移动字节数CF=0,调用成功,DX:AX=指针新位置CF=1,调用失败,AX=错误代码43H读写文件属性AL=读写标志CX=文件属性DS:DX=文件说明地址CF=0,调用成功,AX
7、=文件属性CF=1,调用失败,AX=错误代码一、访问方式 访问方式是指打开文件后的操作方式,访问方式作为入口参数必须存放在AL寄存器中。AL=0,表示读文件 AL=1,表示写文件 AL=2,表示可读可写文件二、移动方式 移动方式是指移动文件指针时如何选择参考点,移动方式作为入口参数必须存放在AL寄存器中。AL=0,表示取文件开始位置作为文件的参 考点。AL=1,表示取文件当前位置作为文件的参 考点。AL=2,表示取文件尾作为文件的参考点。三、错误代码表11-2部分错误代码的意义错误代码意义错误代码意义1无效的功能号10不正确的环境2文件没有找到11格式无效3路径没有找到12访问方式无效4打开的文件太多13无效数据5拒绝访问14保留6无效的文件代号15无效盘符7内存控制快被破坏16试图删除当前目录8内存不足17不是同一个设备9内存快地址无效18没有更多的文件【本章小结】1简单了解计算机中文件的存储方式、磁盘的工作原理。2.会查看DOS和BIOS系统功能调用关于文件操作的 设置及其参数,并掌握简单的新建文件、读取文件、修改文件、保存文件的方法。
限制150内