汇编课程设lxc文件加密程序Word格式文档下载.docx

上传人:b****6 文档编号:16981027 上传时间:2022-11-27 格式:DOCX 页数:14 大小:153.89KB
下载 相关 举报
汇编课程设lxc文件加密程序Word格式文档下载.docx_第1页
第1页 / 共14页
汇编课程设lxc文件加密程序Word格式文档下载.docx_第2页
第2页 / 共14页
汇编课程设lxc文件加密程序Word格式文档下载.docx_第3页
第3页 / 共14页
汇编课程设lxc文件加密程序Word格式文档下载.docx_第4页
第4页 / 共14页
汇编课程设lxc文件加密程序Word格式文档下载.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

汇编课程设lxc文件加密程序Word格式文档下载.docx

《汇编课程设lxc文件加密程序Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《汇编课程设lxc文件加密程序Word格式文档下载.docx(14页珍藏版)》请在冰豆网上搜索。

汇编课程设lxc文件加密程序Word格式文档下载.docx

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)相关中断的理解,不会使用的问题。

从学习汇编语言到现在,我们学到的都是一些基本的汇编知识,对这样的文件处理真的很少接触,对这些中断的用法一点都不熟悉,这些功能所要传递的入口参数,得到的出口参数都不知道如何获得以及进行合理的保存。

其次,对文件的读取,当我定义一段存储缓冲区的时候,总是对读取的内容出错,最后才知道,是我在文件出口参数的时候获得的文件代号,以及文件内容的实际长度没有存储好,存储出错以至于整个程序的出错。

最后,就是加密环节,一开始我的设计是用一个密码对整个文件内容进行加密,答辩的时候,我才知道老师的要求是用多位密码进行循环加密。

这又用了我一天的时间,可是最后还是有错,我去找老师调试了好久,终于找到了错误,是对寻址方式的不清楚导致取地址和取实际内容相互混淆。

到此为止,整个课设的程序终于完成了。

这次课设我学到了很多的东西,比如首先,我们要用实践去检验我们的理论知识,课设是很必要的,理论要能很多好的和实践结合,达到知识点的巩固积累;

其次,我知道了有时候我们对一件事物一点都不理解,这没关系,我们要能耐得住寂寞,沉得下心,对我们未知的进行不断地摸索才能掌握新的知识;

最后我发现我们要学习的东西还很多,要坚持努力,不断完善自己。

最后,我要感谢我们的课设老师廖老师,在这一周对我们的指导,不顾炎炎烈日,对我们的认真负责,以及谆谆教诲。

廖老师你辛苦了。

计算机与通信学院课程设计评分表

课程名称:

汇编语言程序设计

项目

评价

设计方案的合理性与创造性

设计与调试结果

设计说明书的质量

答辩陈述与回答问题情况

课程设计周表现情况

综合成绩

教师签名:

日期:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 小升初

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1