汇编课程设计实验报告——皮锋

上传人:第*** 文档编号:55694550 上传时间:2018-10-04 格式:DOC 页数:18 大小:630.50KB
返回 下载 相关 举报
汇编课程设计实验报告——皮锋_第1页
第1页 / 共18页
汇编课程设计实验报告——皮锋_第2页
第2页 / 共18页
汇编课程设计实验报告——皮锋_第3页
第3页 / 共18页
汇编课程设计实验报告——皮锋_第4页
第4页 / 共18页
汇编课程设计实验报告——皮锋_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《汇编课程设计实验报告——皮锋》由会员分享,可在线阅读,更多相关《汇编课程设计实验报告——皮锋(18页珍藏版)》请在金锄头文库上搜索。

1、课 程 设 计 报 告课程名称课程名称 汇编语言程序设计汇编语言程序设计 课题名称课题名称 文件加密程序文件加密程序 专专 业业 通信工程通信工程 班班 级级 通信通信 1101 学学 号号 201103020127 姓姓 名名 皮锋皮锋 指导教师指导教师 廖智廖智 罗雅博罗雅博 罗静罗静 2014 年年 6 月月 22 日日湖南工程学院课 程 设 计 任 务 书课程名称 汇编语言程序设计 课 题 文件加密程序 专业班级 通信工程 1101 学生姓名 皮锋 学 号 201103020127 指导老师 廖智、罗雅博、罗静 审 批 任务书下达日期 2014 年 6 月 6 日 任务完成日期 201

2、4 年 6 月 22 日目 录1. 题目11.1. 课题.11.2. 需求分析.12. 程序总体设计方案、思路12.1. 程序整体设计思路.12.2. 程序总体设计方案.23. 程序设计框图23.1. 程序设计模块图.23.2. 程序设计总流程图.34. 源程序清单55. 程序调试结果及分析96. 设计总结131. 题目1.1. 课题文件加密程序要求:A、文件名从键盘输入。B、加密密钥从键盘输入。思路:从原文件读取内容至缓冲区,对其加密后,重新写回文件原来的地方。提示要点:A、加密可使用“异或”操作。B、相关中断为 3DH,3EH,3FH,40H,42H 号系统功能调用(INT 21H)1.2

3、. 需求分析汇编语言是面向机器的程序设计语言。在汇编语言中,用助记符代替操作码,用地址符号或标号代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言,因此汇编语言也称为符号语言。使用汇编语言编写的程序机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序。汇编系统是系统软件中语言处理软件,它把汇编语言翻译成机器语言的过程称为汇编。汇编语言作为作为一种利用计算机所有硬件特性直接控制硬件的语言,其长处在于编写高效且需要对机器硬件精确控制的程序。在本次课程设计中,目的是给指定的文件进行加密。要求从键盘输入文件名,从键盘输入加密密钥。在课程设计中加密

4、使用了“异或”操作,并使用了相关中断为 3DH,3EH,3FH,40H,42H 号系统功能调用(INT 21H) 。在课程设计中我们需要将平时所学的理论知识加以理解和应用,进而加强汇编语言的学习,加深对汇编理论及应用的理解。通过熟悉调用 DOS 系统功能的调用,认真完成课题,实现相关功能。2. 程序总体设计方案、思路2.1. 程序整体设计思路(1)用键盘输入一个文件名,存到 STR1 缓冲区,用 3DH 系统功能打开文件。(2)用键盘输入六个字符作为密码,存到 STR2 缓冲区,并对密码进行处理。(3)用 3FH 系统功能读取文件内容到 BUF 缓冲区。(4)用对密码处理后得到的值对文件内容进

5、行加密。(5)用 40H 系统功能将加密后的内容写入到原来文件存储的位置。(6)用 3EH 系统功能关闭文件。2.2. 程序总体设计方案(1)进入系统主界面,显示欢迎词。(2)进入打开文件程序。界面提示输入文件名,按要求输入文件名,若打开文件成功则保存文件代号,若无法找到文件则提示无法找到文件按 R/r 返回提示输入文件名界面,重新输入文件名即可。(3)进入输入密码程序。界面提示输入密码,按要求输入密码,注意不要超过要求密码的长度,输入密码长度符合要求则对密码进行处理,若输入密码不符合要求则提示密码长度要求按 R/r 返回输入密码界面,重新输入密码即可。(4)进入读取文件程序。若读取成功则进入

6、文件加密程序,若读取失败则提示无法找到文件按 R/r 返回提示输入文件名界面,重新输入文件名进而返回打开文件程序。(5)进入文件加密程序,对文件进行加密处理。(6)进入写文件程序,若成功将文件写入原位置则进入文件关闭程序,若写文件失败则提示无法找到文件按 R/r 返回提示输入文件名界面,重新输入文件名进而返回打开文件程序。(7)进入关闭文件程序,关闭文件并提示记住密码。3. 程序设计框图3.1. 程序设计模块图程序设计模块图如图 3.1 所示:图 3.1 程序设计模块图3.2. 程序设计总流程图显示欢迎词输入密码(大于 7 位)提示输入密码提示输入文件名保存文件代号密码大于 7 ?打开文件成功

7、?没找到文件,按 R/r 再试一次密码Please input the name of the encode file:,0AH,0DH,$MSG2DB 0AH,0DH,Please input the password more than 7 characters:,0AH,0DH,$MSG3DB 0AH,0DH,Can not find the file in the document.Input R/r to try again:,0AH,0DH,$MSG4DB 0AH,0DH,Please remember your password! Any key to continue:,0AH

8、,0DH,$MSG5DB 0AH,0DH,Please input the password more than 7 characters! Input R/r to try again:,0AH,0DH,$DATA ENDSCODE SEGMENT code ;定义代码段ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA ;数据段寄存器的初始化MOV DS,AXMOV AH,9LEA DX,WELINT 21HREP1: MOV AH,9LEA DX,MSG1 ;提示输入需加密文件名INT 21HMOV AH,10 ;键盘输入字符串(10 号功能)LEA DX,

9、STR1INT 21HMOV BL,STR1A ;保存文件名MOV BH,0MOV STR1BBX,0 ;?LEA DX,STR1BMOV AH,3DH ;打开文件 (3DH 号功能)MOV AL,02H ;显示输出(02H 号功能)AL=输入字符INT 21HJC ERROR ;转移指令,若打开错误转 ERRORMOV HANDLE,AX ;保存文件号REP2: MOV AH,9 LEA DX,MSG2 ;提示输入密码INT 21HMOV CX, 09HMOV BX,0HLAST: MOV AH, 07H ;输入字符,但是不显示INT 21HMOV str2bx, ALMOV AH, 02H

10、MOV DL, * ;用星号 * 来显示INT 21HINC BXLOOP LASTCMP STR2+1,7 ;与 7 比较,小于 7 则转移至 ERROR1JNAEERROR1MOV AL,STR2+2 ;密码处理ADD AL,STR2+7MOV KEY,ALREP3: MOV BX,HANDLEMOV CX,255LEA DX,BUFMOV AH,3FH ;读文件(3FH 号功能)INT 21H JC ERROR ;转移指令,若打开错误转 ERRORCMP AX,0JZ OVER3 ;为零时转移至 OVER3MOV LEN,AX ;AX=实际读到的字符数MOV CX,LEN ;加密LEA

11、DI,BUFMOV AL,KEYENCODE: XORDI,AL ;文件加密INC DILOOP ENCODEMOV DX,STR3MOV AX,4200H ;移动文件读写指针INT 21HMOV BX,HANDLEMOV CX,LENLEA DX,BUFMOV AH,40H;写文件(40H 号功能)INT 21HJC ERRORMOV AX,LENADD STR3,AXJMP REP3 ;无条件转移至 ERP3MOV BX,HANDLEMOV AH,3EH ;关闭文件(3EH 号功能)INT 21HERROR: MOV AH,9LEA DX,MSG3INT 21HMOV AH,1INT 21

12、HCMP AL,52HJZ REP1CMP AL,72HJZ REP1JMP OVER2ERROR1:LEA DX,MSG5MOV AH,9INT 21HMOV AH,1 ;键盘输入并显示(1 号功能)INT 21HCMP AL,52HJZ REP2 ;相等时转移至 REP2CMP AL,72HJZ REP2 ;相等时转移至 REP2JMP OVER2OVER1: MOV AH,1 ;键盘输入一个字符INT 21HOVER2: MOV AX,4C00H ;结束INT 21HOVER3: MOV AH,9 ;显示字符串Please remember your password! Any key

13、to continue:LEA DX,MSG4INT 21HJMP OVER1 ;无条件转移结束CODEENDSEND START5. 程序调试结果及分析1、进入主界面后,显示欢迎词并提示输入要加密的文件名图 5.1 进入主界面后图 2、在主界面输入正确文件名,当输入正确文件名后提示输入密码图 5.2 输入正确文件名后图 3、按要求输入长度要求范围内(长度大于 7)的密码,在输入密码后提示记住密码图 5.3 输入正确密码后图4、输入错误的文件名后无法找到文件时提示按 R/r 重试图 5.4 输入错误的文件名后图 5、重试后输入正确文件名后提示输入密码图 5.5 重新输入正确文件名后图6、文件加

14、密前为本课程设计文件加密程序的.txt 文件的源代码,加密后在编译器中打开显示出如 下字符图 6.6 为本课程设计文件加密程序的.txt 文件截图图 6.7 加密后文件截图6. 设计总结在学习汇编语言之前,我只学习过 C 语言和一些 java 方面的知识,而汇编语言同他们相比,有着很大的区别。特别是各种符号代号繁多,很容易出错。在程序的编写的时候,这一点的体会尤其很深刻。因此在编写程序时,我不得不总是对照着书本和其他途径获取的一些实例进行对照,以避免出现各种细节上的错误。一个星期的时间,终于给完成了。在这一周的时间里,我完成了用汇编语言对文件加密的程序设计。从开始的无头无续,到中间时期的疑惑不解,再到最后的极大欢喜,感觉这个课设经历了整个人生的大起大落。无可厚非,这正是我们要走的路。这段时间挺难熬的,在自己的努力,以及老师还有同学的帮助下,我终于完成了这次艰难的课程设计。在这次设计中,我遇到了很多的问题,首先,是对 3DH,3EH,3FH,40H,42H 号系统功能调用(INT 21H)相关中断的理解,不会使用的问题。从学习汇编语言

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号