汇编语言课程设计课程设计.docx

上传人:b****2 文档编号:550328 上传时间:2023-04-29 格式:DOCX 页数:38 大小:188.59KB
下载 相关 举报
汇编语言课程设计课程设计.docx_第1页
第1页 / 共38页
汇编语言课程设计课程设计.docx_第2页
第2页 / 共38页
汇编语言课程设计课程设计.docx_第3页
第3页 / 共38页
汇编语言课程设计课程设计.docx_第4页
第4页 / 共38页
汇编语言课程设计课程设计.docx_第5页
第5页 / 共38页
汇编语言课程设计课程设计.docx_第6页
第6页 / 共38页
汇编语言课程设计课程设计.docx_第7页
第7页 / 共38页
汇编语言课程设计课程设计.docx_第8页
第8页 / 共38页
汇编语言课程设计课程设计.docx_第9页
第9页 / 共38页
汇编语言课程设计课程设计.docx_第10页
第10页 / 共38页
汇编语言课程设计课程设计.docx_第11页
第11页 / 共38页
汇编语言课程设计课程设计.docx_第12页
第12页 / 共38页
汇编语言课程设计课程设计.docx_第13页
第13页 / 共38页
汇编语言课程设计课程设计.docx_第14页
第14页 / 共38页
汇编语言课程设计课程设计.docx_第15页
第15页 / 共38页
汇编语言课程设计课程设计.docx_第16页
第16页 / 共38页
汇编语言课程设计课程设计.docx_第17页
第17页 / 共38页
汇编语言课程设计课程设计.docx_第18页
第18页 / 共38页
汇编语言课程设计课程设计.docx_第19页
第19页 / 共38页
汇编语言课程设计课程设计.docx_第20页
第20页 / 共38页
亲,该文档总共38页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

汇编语言课程设计课程设计.docx

《汇编语言课程设计课程设计.docx》由会员分享,可在线阅读,更多相关《汇编语言课程设计课程设计.docx(38页珍藏版)》请在冰点文库上搜索。

汇编语言课程设计课程设计.docx

汇编语言课程设计课程设计

 

沈阳工程学院

课程设计

 

设计题目:

数据加密解密程序设计(第3组)

 

系别信息工程系班级计本065

学生姓名吴迪学号2006403532

指导教师王健、王新颖职称讲师、副教授

起止日期:

2008年6月30日起——至2008年7月4日止

沈阳工程学院

课程设计任务书

 

设计题目:

数据加密解密程序设计(第3组)

 

系别信息工程系班级计本065

学生姓名吴迪学号2006403532

指导教师王健、王新颖职称讲师、副教授

课程设计进行地点:

信息工程系机房

任务下达时间:

2008年6月26日

起止日期:

2008年6月30日起——至2008年7月4日止

教研室主任李贞2008年6月25日批准

 

一、课程设计的原始资料及依据

查阅有关汇编语言程序设计的教材、技术书籍、网上文章等资料,通过查阅资料、分析学习程序设计方法和实际设计使学生更进一步掌握汇编语言程序设计的有关知识,提高用汇编语言编写程序的能力,加深对汇编语言的理解。

从而使学生具备一定的用汇编语言解决实际问题的能力。

二、课程设计主要内容及要求

1.从下列题目中选择:

设计组编号

设计题目

要求

1

简单学生成绩管理程序设计

添加、浏览、修改、删除学生成绩,并能统计

2

加减乘除四则运算程序设计

屏幕提示输入算术表达式,如:

“3+2,9*5,10-5,45/2”等,然后计算相应的表达式的结果并按十进制形式输出显示

3

数据加密解密程序设计

提示输入要求加密的数据,然后对数据进行加密,加密方法自己确定,也可进行解密

4

彩色文字显示程序设计

显示彩色文字,可增加闪烁、移动等效果

5

文件存取程序设计

能建立文件、保存文件、读取文件内容等

6

图形显示程序设计

显示简单图形

7

时钟显示程序设计

显示当前日期和时间

8

字符串查找与替换

在文件中查找或替换指定的字符串,并显示查找到的或已经替换的字符串,以及文件的字符总数、行数

 

2.也可以选择具有一定难度的其他题目,但要经过指导教师同意。

3.认真查阅资料,理解题目要求。

4.按时上机,认真调试程序。

5.运行程序,检查结果是否和设计要求一致。

6.记录出现的问题及现象,并对问题进行分析,思考解决方法。

7.遵守课程设计时间安排。

8.独立思考,认真设计。

9.认真书写课程设计说明书,避免相互抄袭。

三、对课程设计说明书撰写内容、格式、字数的要求

1.课程设计说明书是体现和总结课程设计成果的载体,主要内容包括:

摘要、设计题目、设计目标、设计原理及内容、设计步骤或程序实现方法、程序关键技术、遇到的问题及解决方法、设计总结、参考文献、设计小组评语等。

一般不应少于3000字。

2.在适当位置配合相应的功能模块图、程序流程图、程序界面效果图等图表进行说明。

应做到文理通顺,内容正确完整,书写工整,装订整齐。

3.设计总结部分主要写本人设计成果、设计期间完成工作简介以及自己的设计体会。

设计小组评语处注明设计组编号、设计组组长、设计组成员,并由设计组组长给出评语。

4.课程设计说明书打印时采用A4纸,页边距均为20mm,正文采用宋体小四号字,行间距18磅。

文中大标题采用黑体小三号字,一级节标题采用黑体四号字,二级节标题采用黑体小四号字,表题与图题采用宋体五号字。

5.课程设计说明书装订顺序为:

封面、任务书、成绩评定表、摘要、目录、正文、参考文献、设计小组评语。

四、设计完成后应提交成果的种类、数量、质量等方面的要求

1.完成任务书中指定的汇编语言程序,运行稳定。

2.课程设计说明书。

3.提交源程序文件及可执行文件。

五、时间进度安排

顺序

阶段日期

计划完成内容

备注

1

第1天

(6月30日)

查阅资料、系统分析设计

2

第2—3天

(7月1日—2日)

程序编制

3

第4天

(7月3日)

调试及运行

4

第5天

(7月4日)

成绩评定、撰写课程设计说明书

六、主要参考资料(文献)

[1]丁辉、陈书谦.汇编语言程序设计.北京:

电子工业出版社,2006

[2]齐志儒、高福祥.汇编语言程序设计.沈阳:

东北大学出版社,2002

[3]李珍香.汇编语言课程设计案例精编.北京:

中国水利水电出版社,2004

[4]沈美明.IBM-PC汇编语言程序设计.北京:

清华大学出版社,2000

[5]贺亚茹.汇编语言程序设计.北京:

科学出版社,2005

[6]卜艳萍、周伟.汇编语言程序设计教程.北京:

清华大学出版社,2004

[7]温玉杰.Intel汇编语言程序设计(第四版).北京:

电子工业出版社,2004

沈阳工程学院

汇编语言程序设计课程设计成绩评定表

系(部):

信息工程系班级:

计本065学生姓名:

吴迪

指导教师评审意见

评价内容

具体要求

权重

评分

加权分

调研

论证

能独立查阅文献,收集资料;能制定课程设计方案和日程安排。

0.1

5

4

3

2

工作能力

态度

工作态度认真,遵守纪律,出勤情况是否良好,能够独立完成设计工作。

0.2

5

4

3

2

工作量

按期圆满完成规定的设计任务,工作量饱满,难度适宜。

0.2

5

4

3

2

说明书的质量

说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。

0.5

5

4

3

2

指导教师评审成绩

(加权分合计乘以8)

加权分合计

指导教师签名:

年月日

评阅教师评审意见

评价内容

具体要求

权重

评分

加权分

查阅

文献

查阅文献有一定广泛性;有综合归纳资料的能力

0.2

5

4

3

2

工作量

工作量饱满,难度适中。

0.5

5

4

3

2

说明书的质量

说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。

0.3

5

4

3

2

评阅教师评审成绩

(加权分合计乘以4)

加权分合计

评阅教师签名:

年月日

答辩小组评审意见

评价内容

具体要求

权重

评分

加权分

学生汇报

汇报准备充分,思路清晰;语言表达准确,概念清楚,论点正确,有层次,有重点,基本上反映了所完成任务的全部内容;时间符合要求。

0.5

5

4

3

2

答辩

思路清晰;回答问题有理论依据,基本概念清楚;主要问题回答准确,深入,有说服力。

0.5

5

4

3

2

答辩小组评审成绩

(加权分合计乘以8)

加权分合计

答辩小组教师签名:

年月日

课程设计总评成绩

摘要

计算机程序设计语言是人机交流的重要工具,在众多的程序设计语言中,汇编语言是一种强有力的语言,它能透彻的反映,巧妙而充分地运用计算机硬件的功能及特点,便于编程人员根据自己的需要灵活地编制高级语言能实现的无法实现的各种程序,随心所欲的控制计算机的运行。

汇编语言是计算机能提供的最快而又最有效的语言,也是能够利用计算机所有硬件特性的唯一语言。

所以,掌握好汇编语言对于我们很重要,通过本次程序设计提高我们对汇编语言的运用能力。

今天在计算机被广泛应用的信息时代,信息本身就是财富。

大量的信息用数据的形式存放在计算机系统里。

信息的传输则是通过公共信道。

这些计算机系统和信道是不设防的,很脆弱的,很容易受到攻击和破坏,因而我们需要一种措施来保护我们的数据,防止被一些用心不良的人盗取或破坏。

因此,我们需要一种强有力的安全措施来保护我们的机密数据不被盗取或破坏。

数据的加密和解密从宏观上讲是很简单,很容易理解的。

加密和解密的一些方法也是很直接的,很容易掌握,可以很方便的对机密数据进行加密和解密。

本程序的设计利用了汇编语言来实现数据的加密和解密。

对数据进行加密会使数据的存储更安全。

解密后的数据我们还可以重新利用。

数据加密和解密功能的实现是利用对数据的ASCII码进行加减运算,使它改写为另一组数据,隐藏了原数据,使他人不能看到,从而保证了原数据的安全。

程序运行中每一项操作都有提示,根据提示可选择是否继续向下运行,若选择“N”,数据将被重新输入。

而且有良好的运行界面,设计人性化。

程序运行结束后可选择退出,程序则会自动关闭窗口,不退出则会继续运行。

在加密和解密的运行中用到了INT21H指令。

01H号功能为等待等待从标准设备输入一个字符,将该字符的ASCII码送给AL,并在标准输出设备上显示该字符。

02H号功能将DL中的一个字符显示在标准输出设备上。

09H号功能为在标准输出设备上显示某个字符串。

0AH号功能为输入字符串。

并且字符串以“$”为结尾。

本程序易于操作且简单,用户可以很方便的对机密数据进行加密和解密。

程序具有可选择性,用户可以根据提示进行操作。

运行界面简洁友好,用户可以清楚的看到数据被加密后和解密后的状态。

关键词:

子程序调用汇编,语言,数据的加密解密;INT21H命令。

目录

摘要I

第1章设计题目及设计目标1

1.1设计题目1

1.2设计目标1

第2章设计原理2

2.1程序中的关键技术2

2.1.1DOS中断调用2

2.1.2程序调用2

2.2程序流程图2

第3章程序设计步骤4

3.1程序编写4

3.2上机编译与调试4

3.2.1编辑源程序4

3.2.2汇编源程序4

3.2.3用LINK程序产生.EXE文件5

3.2.4程序的调试5

第4章程序实现方法7

4.1程序代码及说明7

4.2程序关键部分12

4.2.1加密部分12

4.2.1解密部分14

第5章程序运行结果及功能分析16

5.1程序运行方式16

5.2程序运行结果分析17

5.3程序运行出现的问题及解决方法18

设计总结19

参考文献20

设计小组评语21

第1章设计题目及设计目标

1.1设计题目

设计数据的加密解密程序,能够对用户所输数据进行加密和解密。

1.2设计目标

能够对用户所输的数据进行加密,并创建主界面,可以输入三种选项分别为加密解密与退出。

且在输入选项之前加入系统密码,使之在输入选项之前必须输入管理员密码才可进行操作,在加密数据完成后,会提示用户编译后的所生成的密码。

在选择解读密码选项后进行解密,并且显示出解读之后的原密码。

程序运行之后返回程序的主界面,功能模块图如图1.1所示。

 

图1.1功能模块图

第2章设计原理

2.1程序中的关键技术

2.1.1DOS中断调用

INT21H指令

⑴01H号功能:

功能:

等待从标准设备输入一个字符,将该字符的ASCII码送给AL,并在标准输出设备上显示该字符。

入口参数:

无。

出口参数:

AL的内容为输入字符的ASCII码。

⑶09H号功能:

功能:

在标准输出设备上显示某个字符串。

入口参数:

DX的内容为要显示的字符串的首地址。

出口参数:

无。

⑶02H号功能:

功能:

DL中的内容通过屏幕显示输出字符。

入口参数:

DL=欲输出字符。

出口参数:

无。

2.1.2程序调用

应用子程序的调用与嵌套完成整个课程设计的过程,最初应用分支程序设计技术将程序分成三大块,加密、解密与退出程序。

数据加密和解密功能的实现是利用对数据的ASCII码进行加减运算,使它改写为另一组数据,隐藏了原数据,使他人不能看到,从而保证了原数据的安全。

2.2程序流程图

以下流程图为主程序流程图,如图2.1所示。

之后为程序主干线流程图,如图2.2所示。

 

图2.1主程序流程图

 

图2.2程序主干线流程图

第3章程序设计步骤

3.1程序编写

设计的题目为数据的加密解密程序设计,主要能实现对数据的加密解密功能。

⑴对要实现的功能进行大体分析,画出程序的总流程图。

⑵将这些功能的实现分别用子程序编写来实现。

⑶规划程序的主程序,界面以及如何调用子程序。

⑷编写代码,上机调试和运行程序。

最后完善程序,考虑到在程序实现过程中,在有限的时间里,把用户界面即菜单的选择用简单的子程序调及分支语句来实现,达到优化的目的。

3.2上机编译与调试

3.2.1编辑源程序

编辑汇编语言源程序即建立.ASM文件。

例如要建立一个文件名为FLY.ASM的源文件,首先应调用编辑程序,进入编辑状态。

这时就可输入、修改源程序。

最后保存为.ASM文件即可。

3.2.2汇编源程序

源文件建立后,要用汇编程序对源文件进行汇编,以便产生二进制的目标文件.OBJ。

本程序应用在DOS程序下的MASM.EXE编译界面,如图3.1所示。

图3.1用MASM.EXE编译界面

3.2.3用LINK程序产生.EXE文件

汇编程序已产生出二进制的代码文件.OBJ,但.OBJ文件并不是可执行文件,还必须使用LINK命令将.OBJ文件转换为可执行的.EXE文件。

用LINK.EXE连接为可执行文件界面如图3.2所示。

图3.2用LINK.EXE连接界面

3.2.4程序的调试

⑴启动DOS,进入相应磁盘,在键盘上键入命令DEBUGFLY.EXE启动DEBUG,屏幕将提示短杠,等待用户输入命令。

⑵调试A命令,指出汇编之后的机器码存储的起始地址。

⑶调试U命令,将内存中的机器码以指令助记符的形式显示出来。

可反复执行,直到显示出所有的指令助记符,如图3.3所示。

⑷调试T命令,单步执行指令,并将所有寄存器的内容和下一条要执行的指令显示出来,如图3.4所示。

⑸执行D命令,显示内存,将内存中的数据以十六进制和ASCII码的形式显示出来,如图3.5所示。

⑹执行Q命令,从DEBUG退出返回DOS的命令态。

图3.3U命令调试结果界面

图3.4T命令调试结果界面

图3.5D命令调试结果界面

第4章程序实现方法

4.1程序代码及说明

DATASEGMENT;定义数据段

HEADMSGDB'',0DH,0AH

DB'+----------------------------------------------+',0DH,0AH

DB'|WELCOMETORUNOURPROGRAM!

|',0DH,0AH

DB'|THISPOORPROGRAMMERISMADEBYMYSELF!

|',0DH,0AH

DB'|1DOYOUWANTTOENCRYPTETHEDATA?

|',0DH,0AH

DB'|2DOYOUWANTTOTRANSLATETHEDATA?

|',0DH,0AH

DB'|3DOYOUWANTTOQUITTHISPROGRAM?

|',0DH,0AH

DB'+----------------------------------------------+',0DH,0AH,'$'

HEADMSG1DB0DH,0AH,'PLEASEMAKEACHOISE:

','$'

HEADMSG2DB0DH,0AH,'PLEASEINPUTTHEDATA:

','$'

HEADMSG31DB0DH,0AH,'AFTERENCRYPTING:

','$'

HEADMSG32DB0DH,0AH,'AFTERTRANSLATING:

','$'

HEADMSG33DB0DH,0AH,'QINGXIANZHESHURUFANGSHI(1~5):

','$'

HEADMSG4DB0DH,0AH,'DOYOUWANTTOEXITTHISPROGRAM?

(Y/N):

','$'

HEADMSG6DB0DH,0AH,'PLEASEINTOSYSTEMPASSWORD','$'

INPUTDB100DUP(0)

JIADB100DUP(0)

JIEDB100DUP(0)

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

LEADX,HEADMSG;输出头信息组的偏移地址

CALLDISPCHS

XORDX,DX

MOVBL,02H

CALLAROUND

AROUNDPROCNEAR;菜单选择程序

LEADX,HEADMSG6

S1:

CALLDISPCHS

MOVAH,01H

INT21H

CMPAL,'*'

JNES1

LEADX,HEADMSG1;提示PLEASEMAKEACHOISE

CALLDISPCHS

XORSI,SI

MOVAH,01H

INT21H

CMPAL,31H

JEJ1

CMPAL,32H

JEJ2

CMPAL,33H

JEEX

JMPAROUND

J1:

CALLJIAMI

J2:

CALLJIEMI

EX:

CALLEXIT

RET

AROUNDENDP

DISPCHSPROCNEAR;显示字符串子程序

MOVAH,09H

INT21H

RET

DISPCHSENDP

INFORMATIONPROCNEAR;字符串输入程序

FOR:

MOVAH,01H

INT21H

CMPAL,0DH

JEFINISHED

MOVINPUT[SI],AL

INCSI

JMPFOR

FINISHED:

MOVINPUT[SI],24H

RET

INFORMATIONENDP

JIAMIPROCNEAR;加密选择程序

MOVB1,02H

XORDX,DX

LEADX,HEADMSG2;输出PLEASEINPUTTHEDATA

CALLDISPCHS

CALLINFORMATION

XORDI,DI

XORSI,SI

LEASI,JIA

LEADI,INPUT

LEADX,HEADMSG33

CALLDISPCHS

MOVAH,01H

INT21H

CMPAL,31H

JZC1

CMPAL,32H

JZC2

CMPAL,33H

JZC3

CMPAL,34H

JZC4

CMPAL,35H

JZC5

C1:

MOVBL,01H

JMPC6

C2:

MOVBL,02H

JMPC6

C3:

MOVBL,03H

JMPC6

C4:

MOVBL,04H

JMPC6

C5:

MOVBL,05H

C6:

CALLJIAMIGC

RET

JIAMIENDP

JIAMIGCPROCNEAR;加密过程程序

GC1:

XORAX,AX

MOVAL,[DI]

CMPAL,39H

JZT1

CMPAL,5AH

JZT2

CMPAL,7AH

JZT3

CMPAL,'$'

JZORDER1

XORAX,AX

MOVAX,[DI]

MOVBH,0

ADDAX,BX

MOV[SI],AX

INCDI

INCSI

JMPGC1

T1:

SUBAL,09H

CBW

MOV[SI],AX

INCDI

INCSI

JMPGC1

T2:

SUBAL,19H

CBW

MOV[SI],AX

INCDI

INCSI

JMPGC1

T3:

SUBAL,19H

CBW

MOV[SI],AX

INCDI

INCSI

JMPGC1

ORDER1:

CBW

MOVAX,'$'

MOV[SI],AX

XORDX,DX

LEADX,HEADMSG31;输出AFTERENCRYPTING

CALLDISPCHS

XORDX,DX

LEADX,JIA

CALLDISPCHS

CALLAROUND

RET

JIAMIGCENDP

JIEMIPROCNEAR;解密菜单程序

XORDX,DX

LEADX,HEADMSG2;输出PLEASEINPUTTHEDATA

CALLDISPCHS

CALLINFORMATION

XORSI,SI

LEASI,JIE

LEADI,INPUT

CALLJIEMIGC

RET

JIEMIENDP

JIEMIGCPROCNEAR;解密过程程序

GC2:

MOVAL,[DI]

CMPAL,30H

JET11

CMPAL,41H

JET22

CMPAL,61H

JET33

CMPAL,'$'

JEORDER2

XORAX,AX

MOVAX,[DI]

MOVBH,0H

SUBAX,BX

MOV[SI],AX

INCDI

INCSI

JMPGC2

T11:

ADDAL,09H

CBW

MOV[SI],AX

INCSI

INCDI

JMPGC2

T22:

ADDAL,19H

CBW

MOV[SI],AX

INCSI

INCDI

JMPGC2

T33:

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

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2