- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
目录
1.课题背景 1
1.1课程设计题目 1
1.2课程设计要求 1
1.3课程设计内容 1
2.运行环境 2
3.总体设计 2
3.1各个模块功能设计 3
3.2 各个模块之间的联系 6
4.详细设计 6
4.1系统流程图 8
4.2子功能程序代码 8
4.3调试
4.4运行结果 11
5.总结 14
6.参考文献 15
7.附录(程序清单) 16
1 课题背景
1.1课程设计题目:字符加密程序设计
1.2课程设计要求:本课程设计要求如下:
采用汇编语言对字符串进行简单的加密和解密,以获得汇编语言程序设计的基本知识概念。我们设计的程序需要满足以下一些功能:
(1)运行程序后屏幕提示1加密,2解密;
(2)功能选择后,屏幕提示输入一字符串;
(3)根据功能选择对输入的字符串进行加密/解密处理,加密方法自选;
(4)输出处理后的字符串,并再次屏幕提示功能选择;
(5)可连续输入字符串进行加密/解密处理,直至单击“Q”或“q”键退出程序。
1.3课程设计内容
对字符串进行简单的加密和解密处理。主要通过两种方法来实现题目主功能:
方法一:调用DOS的1号功能逐个输入明码字符,此时由于1号的功能对输入的字符显示,故输入的明码会显示。再即时对输入的字符明码保存并调用加密子程序对明码字符进行加密并输出显示在屏幕上,直到把明码输入完,此时加密结果也输出结束,最后把保存的明码输出,即输出一个完整的明码字符串。
方法二:调用DOS的OAH号功能输入一串完整的字符串,即要求加密的字符串,输入后进行保存,然后保存在另一个内存区中,再调用加密子程序对字符串中各个元素加密,调用DOS的9号功能把之前加密好的并保存的密码字符串完整输出,显示在屏幕上,最后用解密函数对密码解密并输出明码。
在本设计中,我选择了方法二,这样需要加密的字符串可以一次性全部输入,而且操作起来更简单。另外为了防止使用者的一些误操作,自己还设计了一些起警示作用的子程序,使程序更加实用。
2.运行环境
1.硬件环境: CPU:2.0GH以上
内存:2GB以上
2.软件环境: 操作系统:Microsoft Windows 7?MASM,LINK
3.总体设计
3.1各个模块功能设计
3.1.1主模块
功能说明:主程序开始执行后,先显示程序标题,此处程序标题由天蓝色字体显示,然后显示功能选择提示符。当键盘输入选择后,程序开始进行判断属于哪一类,判定完毕后则执行相应跳转加密或者解密。当输入不是所要求的按键时,程序输出红色错误警告,提醒用户重新进行选择。
3.1.2程序标题模块
功能说明:程序标题子程序中设置光标位置采用2号功能调用定位到0行0列,写字符部分包括字符的文本显示方式,此处为彩色文本,方式3。
3.1.3警示信息功能模块
功能说明:当输入选择功能信息有误时,调用警示子程序。首先设置光标位置采用2号功能调用定位到0行0列,写字符部分包括字符的文本显示方式,此处为彩色文本,方式4。流程图如图3-3所示。
3.1.4加密/解密程序功能模块
功能说明:用户输入的字符串存在WORD中,我们再调用SHURU子程序存入CHEN中,对CHEN中每个元素进行加密或者解密后存入CHEN中。当加密时,对CHEN中明码相应加10得密码;当解密时,将CHEN中的密码相应的减10即可的解密,得原码。
3.1.5转存程序模块
功能说明:将用户输入的字符串从WORD缓冲区逐个循环赋值转到CHEN缓存区,从而使得原码和密码能同时对应显示出来。
3.1.6清屏程序 模块
功能说明:清屏程序调用6号功能AL=0表示整个屏幕为空白,即清屏幕。
3.2各个模块之间的联系
根据课程设计题目的要求画出系统流程图,然后根据流程图可知需要哪些子功能,再分别编写数据代码段以及各个模块然后通过程序的组合和调用来完成设计要求.1 系统流程图
图2程序标题设计流程图 图3 警示信息设计流程图
图4 加密/解密程序流程图 图5 转存程序流程图
图6 清屏程序流程图
4.2子功能程序的代码
4.2.1主菜单的功能选择菜单的代码如下:
START: MOV AX,DATA
MOV DS,AX
CALL Tittle
ONE: LEA DX,BUFF
MOV AH, 09
INT 21H ;功能选择
MOV AH,1
INT 21H ;单字符输入
CMP AL,31H
JE AA1
CMP AL,32H
JE AA2
CMP AL,51H
JE DONE
文档评论(0)