您好,欢迎访问三七文档
课程设计说明书题目:数据加密院系:计算机科学与工程学院专业班级:计算机08-2班学号:200714277学生姓名:徐超指导教师:廖正和2010年12月29日i安徽理工大学课程设计(论文)任务书计算机科学与工程院系计算机硬件教研室学号2008302829学生姓名徐超专业(班级)08-计算机-2设计题目数据加密设计技术参数1.熟悉汇编指令、宏汇编语言的编程方法2.BIOS中断调用、系统功能中断调用方法3.磁盘文件、及文件内容操作设计要求按照以下规律编密码:字母A变为E,a变为e,即变成其他的第4个字母,W变A,X变B,Y变C,Z变为D,非字母不变工作量1.画出流程图,完成课程设计说明书2.课程设计说明书1000字;工作计划课程设计分5次完成:第1次熟悉软件环境绘制程序流程图。第2次编写程序。第3次调试运行程序。第4次修改完善程序第5次写课程设计说明书参考资料1.8086/8088和基于ARM核汇编语言程序设计第二版李敬兆/编中国科学技术大学出版社2.IBM-PC汇编语言程序设计沈美明等清华大学出版社3.80X86汇编语言程序设计教程杨季文/等编清华大学出版社指导教师签字教研室主任签字2010年12月29日ii安徽理工大学课程设计(论文)成绩评定表指导教师评语:成绩:指导教师:年月日iii摘要本次汇编语言课程设计题目可以开发一个具有分支、循环等结构的汇编语言程序。要求程序运行后屏幕出现提示信息,要求输入一组由英文字母等字符组成的组合,按要求输入并回车后,屏幕会出现一组新的组合,并且新的组合与原组合对应顺序的每个字母在字母表的顺序上都加4,且26个英文字母采用循环制,即z之后为a,即为原组合加密。关键词:汇编语言分支加密目录iv1系统分析............................................................................................................11.1背景分析..........................................................................................................................................11.2设计目的及意义..............................................................................................................................11.3功能需求..........................................................................................................................................12概要设计............................................................................................................22.1设计思想.........................................................................................................................................22.2系统开发运行环境..........................................................................................................................23详细设计............................................................................................................23.1程序流程图......................................................................................................................................23.2程序代码设计..................................................................................................................................53.3测试与结果分析...............................................................................................................................54总结....................................................................................................................7参考文献...............................................................................................................8安徽理工大学课程设计(论文)-1-1系统分析1.1背景分析伴随着科技的发展与进步,计算机日益推广普及,各种计算机语言层出不穷,而汇编语言是一种能充分发挥和利用计算机硬件特征的语言,也是计算机能够提供给用户使用的最快而又最有效的语言,汇编语言中能够得用计算机所有硬件特性并能真接控制硬件的惟一语言,因而对时间和空间要求很高的场合,汇编语言的应用是必不可少的,尤其适用与对时空效率要求较高、与机器硬件密切相关的高性能软件的开发,所以越来越多的人都开始了汇编语言的学习。汇编语言面向机器,能够为程序员提供最直接操纵机器硬件系统的途径,所以,利用汇编语言,就可以编写出、最具有效率的程序。本程序是基于汇编语言编写的简单的数据加密程序,此程序简单便捷。1.2设计目的及意义汇编语言课程设计是在教学实践基础上进行的一次实验,也是对该课程所学的理论知识的深化和提高。因此,要求学生能综合应用所学知识,设计与制造出能实现一定功能的应用系统,并且在实验的基本技能方面上进行一次全面的训练。本次课程设计要求学生熟悉汇编语言的编程,BIOS中断调用、系统功能调用、磁盘数据的查询、存取等相关知识。通过课程设计,提高运用汇编语言编程解决实际问题的能力,使同学们更深入的了解计算机系统内部的有关知识,提高学生对工作认真负责,一丝不苟,对同学团结友爱,协作攻关的基本素质。培养学生从资料文献和科学实验中获得知识的能力,提高学生从别人的经验中找到解决问题的新途径的悟性,初步培养工程意识和创新能力。培养学生勇于探索,严谨推理,实事求是,有错就改,用实践来检验理论,全方位考虑问题等科学技术人员应具有的素质,为以后的学习和系统开发奠定良好的基础。汇编语言课程设计是对所学课程内容全面、系统的总结、巩固和提高的一项课程实践活动。根据汇编语言的特点,选择相应的题目,在老师的指导下,由学生独立完成。课程设计要求同学们熟悉汇编语言的编程,BIOS中断调用、系统功能调用、磁盘数据的查询、存取等相关知识。通过课程设计,一方面提高运用汇编语言编程解决实际问题的能力,另一方面使同学们更深入的了解计算机系统内部的有关知识,为以后的学习和系统开发奠定良好的基础。1.3功能需求按照以下规律编写一个密码:字母A变为E,a变为e,即变成其他的第4个字母,W变A,X变B,Y变C,Z变为D,非字母不变,如“CHINA”变为“GLMRE!”。26个英文字母采用循环制,即z之后为a。安徽理工大学课程设计(论文)-2-2概要设计2.1设计思想本此课程设计要求是按照以下规律编密码:字母A变为E,a变为e,即变成其他的第4个字母,W变A,X变B,Y变C,Z变为D,非字母不变。这次的任务是数据加密,将数据信息中的字母变换成对应的字母。将ASCII字符编码表分成三个部分:A~V、a~v将这些字母的ASCII码加4变成它的第四个字母,W~Z、W~z分别变成A、B、C、D,a、b、c、d,对应的ASCII码减16。其他字符不变。2.2系统开发运行环境本程序通过汇编基础指令,汇编语言及BIOS中断来编写程序能够实现简单的数据加密:将字母A变为E,a变为e,即变成其他的第4个字母,W变A,X变B,Y变C,Z变为D,非字母不变。本程序是在Windows平台上的汇编语言编译器1.0.8进行编译的,该软件提供了编辑、编译、运行、调试汇编语言程序的集成环境。3详细设计3.1程序流程图本程序的流程图是先将定义好的两个变量S0,S1的首偏移地址分别存放到dx,di;输入字符,安徽理工大学课程设计(论文)-3-用回车键判断输入结束;循环调用子程序,判断输入的字符,若是A~V、a~v之间的就将她变成相对应的第四个字符,若是W~Z、v~z就变成A~D、a~d;若是非字母就不变化。通过cx自减为0时,子程序结束调用。本程序的流程图3-1所示:安徽理工大学课程设计(论文)-4-3.1程序流程图YNNYNNNNYYYYNNYYNNY开始S0的首偏移地址→dxS1的首偏移地址→di输入字符cx+1→cxdi+1→di将字符存入al中Al为回车?Al‘A’A’Al‘V’Al‘[’Al‘a’h?Al‘v’h?Al+4h→AlAl→[di]cx-1→cxdi+1→didi+1→di调用子程序Al-16h→AlAl‘{’cx=0输出字符输入:Al→[di]cx+1→cxdi+1→diend安徽理工大学课程设计(论文)-5-3.2程序代码设计本程序没有用到功能模块之间的调用,用的是调用子程序;子程序的功能是判断字符是否需要转换,子程序的核心代码如下:next:cmpal,41h;al的值与41h相比较jbnext1;小于41h,跳转到next1cmpal,56h;al的值与56h相比较janext2;大于56h,跳转到next2addal,04h;在41h~56h之间的,就将al值加4hjmpnext1;跳转到next1next2:cmpal,5bh;al的值与56h相比较jgnext3;大于56h就跳转到next3subal,16h;小于56h就将al的值减16hnext3:cmpal,61h;al的值与61h相比较jbnext1;小于61h,跳转到next1cmpal,76h;al的值与76h相比较janext4;大于76h就跳转到next4addal,04h;在61h~76h之间的,就将al值加4hjmpnext1;跳转到next1next4:cmpal,7ah;al的值与7ah相比较jgnext1;大于7ah就跳转到next1subal,16h;小于7ah就将al的值减16hnext1:mov[di],al;将al的值传送到[di]中3.3测试与结果分析这个程序是将字母A变为E,a变为e,即变成其他的第4个字母,W变A,X变B,Y变C,Z变为D,非字母不变。程序运行后显示如图3.2所示:安徽理工大学课程设计(论文)-6-图3.2程序运行后按照提示输入数据,如输入111abc@#,执行后结果如图3.3所示:图3.3由上可见,程序执行结果达到了设计的要求,加密系统设计无误。安徽理工大学课程设计(论文)-7-4总结本次课程设计我们小组设计了一个简单的加密系统,虽然系统不算复杂
本文标题:汇编语言课程设计
链接地址:https://www.777doc.com/doc-5554053 .html