资源描述:
《汇编语言课程设计磁盘文件管理》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、汇编语言课程设计报告(2011)汇编语言课程设计报告(2010--2011年度第2学期)磁盘文件管理系统专业网络工程学生姓名赵燕班级B计算机092学号0910704228指导教师王志宏完成日期2011年6月22日1汇编语言课程设计报告(2011)目录1概述11.1课程设计目的11.2课程设计内容12系统需求分析12.1系统目标12.2主体功能12.3开发环境13系统概要设计13.1系统的功能模块划分13.2系统流程图14系统详细设计25测试45.1测试方案45.2测试结果56小结6参考文献7附录7附录1源程序清单83汇编
2、语言课程设计报告(2011)磁盘文件管理系统1概述1.1课程设计目的在学完教学大纲规定的全部内容,完成所有实践环节的基础上,旨在深化学生学习的汇编语言课程基本知识,进一步掌握汇编语言课程设计方法,提高分析问题,解决问题的综合应用能力。学会查阅和汇编语言相关的规范,手册等技术资料。能正确绘制和使用流程图。掌握汇编语言程序设计和程序调试的基本技能,能进行基本的软件设计。此课程设计中,通过对磁盘管理分段程序的设计,来实现键盘的输入,输出文件的读写的功能。熟悉常用的系统功能调用和常用的算法实现。如01H功能调用实现键盘输入并回显
3、,09H的功能调用显示字符串,3CH的功能调用是建立文件,3DH的功能调用是打开文件,3EH的功能调用是关闭文件3FH是读取文件,40H功能调用是写入文件。掌握基本子程序的调用和返回指令。1.2课程设计内容磁盘文件管理系统2系统需求分析2.1系统目标功能菜单的编制;向磁盘文件中写入信息;从磁盘文件中读出信息并显示;退出程序2.2主体功能创建文件,向磁盘文件中写入信息,从磁盘文件中读出信息并显示,退出程序。如果向磁盘中写入信息或者从磁盘中读取信息失败屏幕会显示打开文件错误的提示。根据提示输入字符,如果输错可以返回并且从新输
4、入。2.3开发环境Tasm3系统概要设计3.1系统的功能模块划分1功能菜单的显示。利用9H功能调用显示menumovah,9leadx,menuint21h13汇编语言课程设计报告(2011)2创建文件。利用功能调用3CH建立文件。DX=文件路径,CX=属性3向磁盘文件中写入信息。先利用功能调用3DH打开文件,再将从键盘输入的字符存入缓冲区,再从缓冲区写入文件,关闭文件。4从磁盘文件中读出信息并显示。先打开文件,在将文件内容存入缓冲区,再将缓冲区内容输出,关闭文件。5退出程序。3.2系统流程图开始N显示菜单Ah=输入字符
5、Y创建文件Ah=1YN写入信息Ah=2YN读取信息Ah=3NAh=4NY退出程序结束创建文件成功创建文件创建成功创建文件错误返回创建文件NY13汇编语言课程设计报告(2011)写入信息NY打开文件键盘输入存入缓冲区缓冲区写入文件关闭文件写入成功错误成功返回读取信息打开文件文件内容输入缓从缓冲区输出关闭文件读取成功错误成功返回NY13汇编语言课程设计报告(2011)4系统详细设计调用Dos21H功能实现文件操作3CH:创建文件DS:DX=文件路径,CX=属性,返回文件号3DH:打开文件DS:DX=文件路径,AL=模式3EH
6、:关闭文件BX=文件号3FH:读取文件BX=文件号CX=字符数DS:DX=缓冲区成功:CF=0,失败:CF=1,AX=错误码40H:写文件或设备BX=文件号DS:DX=代写的数据地址CX=代写的字节数在主程序中通过call指令调用子程序,在子程序中通过RET指令返回主函数。缓冲区定义buffer1db60,0,60dup(?)buffer2db60,0,60dup(?)提示信息定义chosedb0dh,0ah,'Pleaseenterthedigitalfrom1-4!',0dh,0ah,'$'enterydb0dh,0
7、ah,'Enterwhatyouwanttowritetothefile!(Thelengthofthestringsisunder60)',0dh,0ah,'$'str_ok1db,0dh,0ah,'Createfilesuccessfully!',0dh,0ah,'$'str_ok2db,0dh,0ah,'Writetofilesuccessfully!',0dh,0ah,'$'str_ok3db,0dh,0ah,'Readfromfilesuccessfully!',0dh,0ah,'$'str_ok4db,0dh
8、,0ah,'Deletefilesuccessfully!',0dh,0ah,'$'str_error1db,0dh,0ah,'Createfileerror!$'str_error2db,0dh,0ah,'Openfileerror!$'str_error3db,0dh,0ah,'Writetofileerror!