二○一二~二○一三学年第二学期电子信息工程系课程设计报告书姓名:康雅文学号:201004135122班级:电子信息工程2010级4班课程名称:微机原理及应用课程设计学时学分:1周1学分指导教师:闵华松二○一三年二月磁盘文件管理系统磁盘文件管理系统目录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源程序清单.......................................................8汇编语言课程设计报告(2011)1磁盘文件管理系统1概述1.1课程设计目的在学完教学大纲规定的全部内容,完成所有实践环节的基础上,旨在深化学生学习的汇编语言课程基本知识,进一步掌握汇编语言课程设计方法,提高分析问题,解决问题的综合应用能力。学会查阅和汇编语言相关的规范,手册等技术资料。能正确绘制和使用流程图。掌握汇编语言程序设计和程序调试的基本技能,能进行基本的软件设计。此课程设计中,通过对磁盘管理分段程序的设计,来实现键盘的输入,输出文件的读写的功能。熟悉常用的系统功能调用和常用的算法实现。如01H功能调用实现键盘输入并回显,09H的功能调用显示字符串,3CH的功能调用是建立文件,3DH的功能调用是打开文件,3EH的功能调用是关闭文件3FH是读取文件,40H功能调用是写入文件。掌握基本子程序的调用和返回指令。1.2课程设计内容磁盘文件管理系统2系统需求分析2.1系统目标功能菜单的编制;在磁盘中创建文件;向磁盘文件中写入信息;从磁盘文件中读出信息并显示;退出程序2.2主体功能创建文件,向磁盘文件中写入信息,从磁盘文件中读出信息并显示,退出程序。如果向磁盘中写入信息或者从磁盘中读取信息失败屏幕会显示打开文件错误的提示。根据提示输入字符,如果输错可以返回并且从新输入。2.3开发环境Masm3系统概要设计3.1系统的功能模块划分1功能菜单的显示。利用9H功能调用显示menumovah,9leadx,menuint21h磁盘文件管理系统22创建文件。利用功能调用3CH建立文件。DX=文件路径,CX=属性3向磁盘文件中写入信息。先利用功能调用3DH打开文件,再将从键盘输入的字符存入缓冲区,再从缓冲区写入文件,关闭文件。4从磁盘文件中读出信息并显示。先打开文件,在将文件内容存入缓冲区,再将缓冲区内容输出,关闭文件。5退出程序。3.2系统流程图创建文件Ah=1NNNAh=输入字符Y创建文件成功创建文件创建成功创建文件错误返回结束创建文件写入信息Ah=2N读取信息Ah=3YAh=4退出程序NYN开始显示菜单YY汇编语言课程设计报告(2011)3写入信息读取信息打开文件键盘输入存入缓冲区缓冲区写入文件关闭文件写入成功错误成功返回打开文件文件内容输入缓从缓冲区输出关闭文件读取成功错误成功返回YNYN磁盘文件管理系统44系统详细设计调用Dos21H功能实现文件操作3CH:创建文件DS:DX=文件路径,CX=属性,返回文件号3DH:打开文件DS:DX=文件路径,AL=模式3EH:关闭文件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,0ah,'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,0ah,'Deletefilesuccessfully!',0dh,0ah,'$'str_error1db,0dh,0ah,'Createfileerror!$'str_error2db,0dh,0ah,'Openfileerror!$'str_error3db,0dh,0ah,'Writetofileerror!$'str_error4db,0dh,0ah,'Readfileerror!$'str_error5db,0dh,0ah,'Exitfromfileerror!$'5测试5.1测试方案输入字符1—41是创建文件,2是向磁盘文件中写入信息,3是从磁盘中读取信息,4是退出程序汇编语言课程设计报告(2011)55.2测试结果运行程序后屏幕会出现菜单1输入1创建文件如果创建成功屏幕会显示createfilesuccessfully!在D:\IBMPC.TXT会创建名为IBMPC的TXT文本文件如果创建失败屏幕会显示createfileerror!2输入2向磁盘中写入信息输入字符2屏幕会显示输入字符sjaklwildacz在创建的文件中会显示如果成功屏幕会显示writetofilesuccessfully!如果失败屏幕会显示writetofileerror!磁盘文件管理系统63输入3从磁盘文件中读出信息如果读出信息成功,屏幕会显示readfromfilesuccessfully!如果读出信息失败,屏幕会显示readfileerror!4输入4退出程序5输入其他字符,屏幕会提示pleaseenterthedigitalfrom1—4!6如果没有先创建文件,就执行写入信息,读取信息的操作就会提示openfileerror!6小结这学期学习汇编语言这门课时,对它有了基本的了解和认识,觉得这门课并不难,反而很容易理解弄懂。但本次课程设计使我充分了解到汇编语言在实际中的应用并不是那么容易。在这次课程设计中让我认识到仅把课堂上的知识充分运用还是不够的。程序设计不能仅仅停留在课本上,想要把程序做好,必须不断通过各种途径掌握更多更好的知识,最重要的是,要将获得的知识运用的实际编程中,要学以致用。只有认真的去思考机器是如何进行逻辑思考才能更好的掌握理解它。相信通过这次的课程设计,更让我深刻意识到自己在学习中的弱点,同时也找到了克服这些弱点的方法。在以后的时间中,我应该利用更多的时间去上机实验,多编写程序,相信不久后我的编程能力会有很大的提高。对于我学的这个专业来说,编写程序是最基本的,也是最重要的技能,然而本次课程设计的程序都不是自己编写的感觉到很遗憾,这次带着侥幸完成觉得很惭愧。但我相信,在以后的学习和实践中,我一定会汲取这次课程设计的经验和教训,会把程序编写的更好。汇编语言课程设计报告(2011)7参考文献[1]花小朋,刘其明.汇编语言程序设计教程[M].中国矿业大学出版社[2]王元珍,曹忠升.80X86汇编语言程序设计[M].华中科技大学出版社[3]沈美明,温冬婵.IBM-PC汇编语言程序设计[M].清华大学出版社[4]王爽汇编语言[M].清华大学出版社[5]朱定华.微机原理、汇编与接口技术(第二版).清华大学出版社磁盘文件管理系统8附录附录1源程序清单datasegmentmenudb0dh,0ah,'****************************************',0dh,0ahdb'*menu*',0dh,0ahdb'*--------------------------------------*',0dh,0ahdb'*1.Createfile*',0dh,0ahdb'*2.Writetofile*',0dh,0ahdb'*3.Readfile*',0dh,0ahdb'*4.Quit*',0dh,0ahdb'*--------------------------------------*',0dh,0ahdb'*Choice(1--4)*',0dh,0ahdb'****************************************',0dh,0ah,'$'pathnamedb'D:\IBMPC.TXT',00;创建文件路径handledw?;handle用于存放选择的数buffer1db60,0,60dup(?);数据缓冲区buffer2db60,0,60dup(?)huanhangdb'',0dh,0ah,'$';定义换行变量chosedb0dh,0ah,'Pleaseenterthedigitalfrom1-4!',0dh,0ah,'$';存放提示信息enterydb0dh,0ah,'Enterwhatyouwanttowritetothefile!(Thelengthofthestringsisunder60)',0dh,0ah,'$';存放提示信息;以下都是提示信息str_ok1db,0dh,0ah,'Createfilesuccessfully!',0dh,0ah,'$'str_ok2db,0dh,0ah,'Writetofilesuccessfully!',0dh,0ah,'$'str_ok3db,0dh