汇编课程设lxc文件加密程序Word格式文档下载.docx
《汇编课程设lxc文件加密程序Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《汇编课程设lxc文件加密程序Word格式文档下载.docx(14页珍藏版)》请在冰豆网上搜索。
3)文件加密程序
4)编写一个时钟程序
5)画网格线
6)画脉冲波图形
7)用“*”画菱形框
8)计算比赛成绩
3.设计要求:
1)在一周内学生须上机16小时以上,程序调试完后,须由指导老师在机器上检查运行结果,经教师认可后的源程序可通过打印机输出。
2)分组及安排
A.每组同学必须完成所指定的题目,每个同学须自己完成设计,应有不同的思路。
B.按学号分组,第一组为1、9、17、25、33号同学,第二组为2、10、18、26、34号,第三组为3、11、19、27、35号,依次类推,其中第一组做第一题,第二组做第二题,依次类推。
3)按规定格式完成课程设计报告,将其打印稿(A4纸)上交给老师存档。
4)不得抄袭他人程序、课程设计报告,每个人应体现自己的个性设计,成绩的考核按上机表现、答辩成绩及课程设计说明书来综合评定。
成绩分为优、良、中、及格、不及格五级分评定。
二、进度安排
第17周星期一08时:
00分——12时:
00分
星期二08时:
星期三08时:
课题1.测量任意程序的运行时间
要求:
该程序驻留内存
思路:
DOS操作系统中,程序的调入运行及程序的终止均是通过相应的软中断来实现的。
若窃取相应软中断,记录下程序开始调入运行的时间及程序终止的时间,则可测量出该程序运行的时间。
提示要点:
与之相关的软中断分别为:
程序开始执行:
4BH号系统功能调用(INT21H)
程序结束:
INT20H
INT27H
00H、3lH、4CH号系统功能调用(INT21H)
课题2.读入一个文本文件并以DEBUG中的D命令格式显示。
A、以DEBUG中的D命令格式显示一个文本文件。
B、文件名从键盘键入。
A、打开相应文件,读内容至程序缓冲区。
B、按要求显示。
课题3.文件加密程序
A、文件名从键盘输入。
B、加密密钥从键盘输入。
从原文件读取内容至缓冲区,对其加密后,重新写回文件原来的地方。
A、加密可使用“异或”操作。
B、相关中断为3DH,3EH,3FH,40H,42H号系统功能调用(INT21H)
课题4.编写一个时钟程序
A、驻留内存。
B、不影响其它程序运行。
C、把时钟信号显示在屏幕固定位置(最好为右上角)。
思路:
先从系统实时钟取得当前时间,每隔约0.05秒定时器向CPU发出一次8号中断请求,是一个硬中断。
窃取INT1CH中断服务程序。
课题5.画网格线
要求:
A、背景为蓝色、横线为红色、直线为黄色。
B、按用户输入的起点和终点坐标、列距和行距的大小画出任意条横竖线。
C、参数以十进制数形式输入,格式如下:
Pleaseenterstartingpoint(x1,y1):
XX,XX
Pleaseenterendingpoint(x2,y2):
XX,XX
Pleaseenterdistance(row,col):
课题6.画脉冲波图形
用户以十进制数形式从键盘输入脉冲高度、脉冲宽度和颜色参数(格式同上)后,以屏幕中间行为脉冲中间行,从左到右、满屏画出相应的脉冲波图形。
课题7.用“*”画菱形框
A、背景为蓝色、“*”为红色,菱形框画在屏幕中间,菱形中间为空格。
B、用户以十进制数形式输入菱形宽度和高度(格式同上)。
课题8.计算比赛成绩
A、7个评委,每个评委给分范围为0~10分(整数)。
B、7个评委的给分中,去掉一个最高分和一个最低分,余下5位评委的平均分即为参加者的得分(精确到小数点后一位)。
C、将分数在屏幕中间位置处用红色显示出来。
目录
1.题目1
2.程序总体设计方案、思路1
3.程序设计框图2
4.源程序清单3
5.程序调试结果及分析7
6.设计总结8
1.题目
课题3.文件加密程序
要求:
提示:
B、相关中断为3DH,3EH,3FH,40H,42H号系统功能调用(INT21H)
2.程序总体设计方案、思路
(1)用键盘输入文件名,保存到str1中,打开文件,此时用到的是3DH系统功能。
(2)用键盘输入密码一到三个字符,存入str2中。
(3)用3FH系统功能调用读取文件到buff缓冲区。
(4)用密码对buff区的内容进行加密,异或处理。
(5)用40H功能把加密后的内容写进文件原来的位置。
(6)用3EH功能关闭文件。
3.程序设计框图
N
Y
4.源程序清单
源程序:
DATASEGMENT
STR1DB21
STR12DB?
STR13DB21DUP(?
)
STR2DB10
DB?
DB10DUP(?
STR3DW0
FILENUMDW?
COUNTDW0
NDB?
KEYDB?
LENDW?
BUFDB256DUP(?
MEGADB0AH,0DH,'
PLEASEENTRYFILENAME'
0AH,0DH,'
$'
MEGBDB0AH,0DH,'
PLEASEENTRYFILEPASSWORD'
MEGCDB0AH,0DH,'
NOFINDTHEFILEPLEASEENTRYAGAIN(A)'
MEGDDB0AH,0DH,'
REMERBERYOUPASSWORD'
MEGEDB0AH,0DH,'
ENTRYPASSWORDAGAIN(R)'
DATAENDS
CODESEGMENT'
CODE'
ASSUMEDS:
DATA,CS:
CODE
START:
MOVAX,DATA
MOVDS,AX
REP1:
MOVAH,9
LEADX,MEGA
INT21H
MOVAH,10
LEADX,STR1
MOVBL,STR12
MOVBH,0
MOVSTR13[BX],0
LEADX,STR13
MOVAH,3DH
MOVAL,02H
JCERROR
MOVFILENUM,AX
REP2:
LEADX,MEGB
LEADX,STR2
CMP[STR2+1],4
JNBERROR1
;
MOVKEY,AL
REP3:
MOVBX,FILENUM
MOVCX,255
LEADX,BUF
MOVAH,3FH
CMPAX,0
JZOVER
MOVLEN,AX
MOVCX,LEN
LEADI,BUF
MOVAL,KEY
ENCODE:
MOVAX,COUNT
MOVBL,[STR2+1]
DIVBL
MOVAL,AH
MOVAH,0
MOVBP,AX
LEASI,STR2
addsi,2
MOVAL,[SI+BP]
XOR[DI],AL
INCCOUNT
INCDI
LOOPENCODE
MOVDX,0
MOVCX,0
MOVBX,FILENUM
MOVAX,4200H
MOVAH,40H
MOVAX,LEN
ADDSTR3,AX
JMPREP3
MOVBX,FILENUM
MOVAH,3EH
ERROR:
LEADX,MEGC
MOVAH,1
CMPAL,41H
JZREP1
CMPAL,61H
JMPEXIT
ERROR1:
LEADX,MEGE
MOVAH,9
CMPAL,52H
JZREP2
CMPAL,72H
DDSR1:
MOVAH,1
EXIT:
MOVAX,4C00H
OVER:
LEADX,MEGD
JMPDDSR1
CODEENDS
ENDSTART
5.程序调试结果及分析
图1加密前的文本
图2文件加密的操作过程
说明:
首先提示输入文件名,如果正确,就打开文件,不正确就提示再次输入;
然后输入密码,这个程序设置的密码是小于三位数的密码,当密码的位数大于3时就提示再次输入;
最后就是对文本加密。
图3加密后的文本
6.设计总结
汇编的课程设计,一个星期的时间,终于给完成了。
在这一周的时间里,我完成了用汇编语言对文件加密的程序设计。
从开始的无头无续,到中间时期的疑惑不解,再到最后的极大欢喜,感觉这个课设经历了整个人生的大起大落。
无可厚非,这正是我们要走的路。
这段时间挺难熬的,在自己的努力,以及老师还有同学的帮助下,我终于完成了这次艰难的课程设计。
在这次设计中,我遇到了很多的问题,首先,是对3DH,3EH,3FH,40H,42H号系统功能调用(INT21H)相关中断的理解,不会使用的问题。
从学习汇编语言到现在,我们学到的都是一些基本的汇编知识,对这样的文件处理真的很少接触,对这些中断的用法一点都不熟悉,这些功能所要传递的入口参数,得到的出口参数都不知道如何获得以及进行合理的保存。
其次,对文件的读取,当我定义一段存储缓冲区的时候,总是对读取的内容出错,最后才知道,是我在文件出口参数的时候获得的文件代号,以及文件内容的实际长度没有存储好,存储出错以至于整个程序的出错。
最后,就是加密环节,一开始我的设计是用一个密码对整个文件内容进行加密,答辩的时候,我才知道老师的要求是用多位密码进行循环加密。
这又用了我一天的时间,可是最后还是有错,我去找老师调试了好久,终于找到了错误,是对寻址方式的不清楚导致取地址和取实际内容相互混淆。
到此为止,整个课设的程序终于完成了。
这次课设我学到了很多的东西,比如首先,我们要用实践去检验我们的理论知识,课设是很必要的,理论要能很多好的和实践结合,达到知识点的巩固积累;
其次,我知道了有时候我们对一件事物一点都不理解,这没关系,我们要能耐得住寂寞,沉得下心,对我们未知的进行不断地摸索才能掌握新的知识;
最后我发现我们要学习的东西还很多,要坚持努力,不断完善自己。
最后,我要感谢我们的课设老师廖老师,在这一周对我们的指导,不顾炎炎烈日,对我们的认真负责,以及谆谆教诲。
廖老师你辛苦了。
计算机与通信学院课程设计评分表
课程名称:
汇编语言程序设计
项目
评价
设计方案的合理性与创造性
设计与调试结果
设计说明书的质量
答辩陈述与回答问题情况
课程设计周表现情况
综合成绩
教师签名:
日期: