基于ASCII码的加密解密8086汇编程序设计

需积分: 16 4 下载量 96 浏览量 更新于2024-08-02 收藏 529KB DOC 举报
本设计项目是针对微机原理课程的一个实践性任务,旨在让学生运用8086汇编语言进行程序设计,实现数据的加密和解密功能。学生石章玉,来自自动化0602班,由指导教师周申培和陈静指导,在自动化学院开展此课程设计。 设计的核心是基于ASCII码值的简单加密解密算法。加密过程通过对输入的每个字符,如果字符位置的序号(n)是奇数,则将其ASCII码值加1,如果是偶数则加2。解密则是相反的操作,奇数序号的ASCII码值减1,偶数序号的减2。这种操作方式保证了数据的可逆性,即加密后可以通过相同的规则恢复原始数据。 设计任务要求编写一个完整的程序,首先,程序会提示用户输入数据,若首字母为 'E',则对后续200个字节的数据进行加密并显示;如果首字母为 'R',则进行解密。程序还需要实现菜单选择功能,通过流程图和汇编语言程序来展示算法的工作原理。 设计过程分为几个步骤: 1. 菜单选择程序:设计一个子程序来处理用户的输入选择,通过流程图和汇编代码实现逻辑判断。 2. 加密算法:描述加密过程的算法,绘制流程图,编写加密部分的汇编代码。 3. 解密算法:同加密过程类似,描述、流程图和汇编代码实现解密功能。 4. 主体程序流程图:展示整个程序的执行流程,包括接收输入、处理选择、加密/解密操作等。 5. 源程序实现:提供完整的加密和解密源代码。 6. 程序运行结果:记录和分析程序的实际运行情况,包括测试数据和结果。 此外,设计者还需撰写详细的课程设计说明书,包括摘要(简述设计目标和方法)、目录(章节结构)、正文(任务要求、算法比较、软件设计、调试与结果分析、个人感悟),以及参考文献和附录(包含ASCII码表和中断功能调用表)。整个设计过程按照时间表有序进行,从1月5日至1月16日,涉及查阅资料、编程、调试和报告撰写等环节。 通过这个项目,学生不仅可以加深对8086汇编语言的理解,还能提升数据处理和加密解密算法的实战能力,同时锻炼文档写作和项目管理的能力。