汇编语言程序设计(第二版)第9章课件.ppt

汇编语言程序设计(第二版)第9章课件.ppt

ID:57138433

大小:642.00 KB

页数:86页

时间:2020-08-01

汇编语言程序设计(第二版)第9章课件.ppt_第1页
汇编语言程序设计(第二版)第9章课件.ppt_第2页
汇编语言程序设计(第二版)第9章课件.ppt_第3页
汇编语言程序设计(第二版)第9章课件.ppt_第4页
汇编语言程序设计(第二版)第9章课件.ppt_第5页
资源描述:

《汇编语言程序设计(第二版)第9章课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第9章文件操作与终端控制9.1磁盘操作9.2控制键盘的技术9.3字符方式下的屏幕控制技术本章要点习题九应用程序对磁盘文件的操作是通过DOS功能调用来实现的,调用时必须按各功能的要求设置好入口参数,再按DOS指定的形式进行调用。DOS提供的磁盘管理功能包括三个方面:一是关于文件内部所存放的数据,比如建立、读、写等,二是针对文件的外部属性,如查找文件的名称、日期,再就是目录管理的创建、删除功能等。9.1磁盘操作9.1.1文件名与文件代号文件名是文件的标识符号,对文件的取名方式是由操作系统规定的。一个完整的文件名由文件主名和文件扩展名两部分构成,两部分之间以圆点“.”分隔。汇编语言

2、当然延用这一规定,并要求存放在内存中时在文件全名的后面加上一个值为0的字节,用来表示一个文件名到什么地方截止。源程序中的文件名通常有两种来源,要么以变量初值的形式加以定义,要么从键盘读入一个符号串。作为文件名的符号串中还可以包含盘符和路径。比如,程序中要使用C盘根目录中一个名为SAMPLE.DAT的文件,用变量定义的形式就写作:filenameDB'C:SAMPLE.TXT',0需要注意的是,如果是用DOS的10号子功能从键盘读入的符号串,最后一个符号是回车键(0DH),必须把这个回车键改为0才可以作为DOS功能调用时的文件名使用。如果每次使用文件都以文件全名的形式进行,会

3、有一些不利因素:一是会使操作系统多次重复处理相同的字符串,给操作系统带来不必要负担,处理速度慢、效率低;二是程序编写时也有很多不便。为此,操作系统DOS提供了一种以文件代号指称文件的方式。当应用程序向操作系统提出要使用某个文件时,必须进行打开文件或创建文件的操作,这时应用程序以文件名作为指称文件的方法,即向操作系统提供需要使用的文件的名称。操作系统代为完成打开或创建操作,如果成功,该文件将处于工作状态(即打开状态),操作系统还将反馈一个字型数据给应用程序,作为这个文件的代号(又称句柄)。文件代号是由操作系统分配的,并且操作系统还会为每一个处于工作状态的文件建立代号与文件名的对

4、应关系。非工作状态的文件尽管也存放在磁盘上,但没有相应的文件代号。应用程序获得文件代号后,必须妥善保存,因为对这个文件的所有后续操作都将以文件代号作为文件的指称形式,直到使用完毕。应用程序对已经操作完毕的文件应该做最后一个操作──关闭。关闭文件的作用之一就是告诉操作系统收回该文件代号,并取消对应关系。操作系统对已收回的文件代号可以重新安排,让它与另一个文件建立对应关系。DOS已经预定义了文件代号0到4与标准输入输出设备对应,即0──标准输入设备,键盘;1──标准输出设备,屏幕;2──错误输出的标准设备,屏幕;3──标准辅助设备;4──标准打印设备。这5个文件代号长期处于打开状

5、态,应用程序可以直接使用。对标准输入设备和标准输出设备的操作将在后面举例说明。在此需要进一步解释的是,在汇编语言或操作系统看来,文件与标准输入输出设备都是数据流,两者的差别在于操作系统支持对文件的随机存取,而标准输入输出设备只能顺序存取。向标准输出设备写一段数据意味着把这些数据送到屏幕去显示,从标准输入设备读一段数据则是从键盘上读入一串符号。9.1.2对文件中的数据的操作9.1.2.1DOS的文件操作功能对于文件的读和写两种操作,在出口参数中说明了当操作成功时,AX是实际读出或写入的字节数,这个值一定不超过应用程序调用相应子功能时所要求的字节数,即入口参数CX的值,但可能比C

6、X小。对于“读”来说,AX值小于要求读入字节数意味着已遇到文件结束符,再没有内容可读了;对于“写”,这种情况只有是磁盘已满,无法再写入。不论“读”还是“写”,在这种情况下文件是可操作的,是操作成功的特殊情况,甚至AX的值可以为0。表9.1DOS的代号式文件管理功能子功能号(AH)功能入口参数出口参数3CH创建DS:DX=文件名首字符逻辑地址CX=文件属性AX=文件代号3DH打开DS:DX=文件名首字符逻辑地址AL=存取代码AX=文件代号3EH关闭BX=文件代号3FH读DS:DX=数据缓冲区逻辑地址BX=文件代号CX=读取的字节数AX=实际读取的字节数40H读DS:DX=数据缓

7、冲区逻辑地址BX=文件代号CX=写入的字节数AX=实际写入的字节数42H移动指针(CX,DX)=移动字节数,有符号双字AL=方式码BX=文件代号(DX,AX)=新的指针位置9.1.2.2错误代码各文件操作子功能的出口参数有一个共同点,就是以CF的设置情况表示操作是否失败。当CF的值是1(理解作逻辑值“真”)时,表示操作失败。这时在AX中还给出了错误代码作为出口参数,应用程序可以根据错误代码判断操作失败的原因,并做相应的处理。表9.2中列出了常见的错误代码与含义。代码(Hex)错误原因代码(Hex)错误原

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。