资源描述:
《汇编课程设计磁盘文件加密解密》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、《汇编语言程序设计》课程设计题目:磁盘文件加密、解密专业:学号:姓名:2011-2012学年第二学期一.设计目的汇编语言课程设计是对所学课程内容全面、系统的总结、巩固和提高的一项课程实践活动。根据汇编语言的特点,选择相应的题目,在老师的指导下,由学生独立完成。课程设计要求同学们熟悉汇编语言的编程,BIOS屮断调用、系统功能调用、磁盘数据的查询、存取等相关知识。通过课程设计,一方面提高运用汇编语言编程解决实际问题的能力,另一方面使同学们更深入的了解计算机系统内部的有关知识,为以后的学习和系统开发奠定良好的基础。二.设计内容从
2、键盘输入不少于三个字符作为密钥,自己再设计一个加密算法。把磁盘文本文件(该磁盘文件名称要求键盘输入)加密后存盘,然后输入同样的密钥,把加密后的文件(该磁盘文件名称要求键盘输入)进行解密,把解密后的文件内容显示于屏幕上。一.程序设计原理1.设计一个主菜单,判别1、2、3及其他字符串所对应的操作,其中1对应建立新文件,2对应打开磁盘文件并对其进行加密进而将加密后的文件存入磁盘,3对应打开磁盘文件并对其进行解密进而将解密密后的文件存入磁盘,其他字符则退出循环。2.INPUTFILE,创建文件的子程序。文件名由键盘输入,内容可以在
3、程序中直接输入,也可在对应路径的文件里面直接输入。3.JIAMI1,加密文件的子程序。文件名由键盘输入,可以打开创建的文件,也可以打开磁盘里原有的文件。打开文件并将其放入缓冲区之后,调用PASSWORD子程序,对文件进行加密。最后将加密后的文件存入磁盘。4.J1EM11,解密文件的子程序。文件名由键盘输入,可以打开创建的文件,也可以打开磁盘里原有的文件。打开文件并将其放入缓冲区之后,调用PASSWORD子程序,对文件进行解密。最后将解密后的文件存入磁盘。并调用XIANSHi,将解密后的文件显示在屏幕上。5.PASSWORD
4、,加密算法的子程序。根据输入的字符串,己大写字母Z对应的ASCII码作为分界线,大于Z的减去60H,小于Z的减去40H。将处理过后的每个字符对应的数据相加,存入内存单元,以备加密解密算法的调用。6.XIANSHI,显示文件内容的子程序。先读取文件内容至缓冲区,再在缓冲区的结尾添上美元符,输出文件内容至屏幕上。二.程序流程图1、主要算法2、加密算法:五.源程序DATASSEGMENTKEYDB11,?,11DUP(?)INPUTKDB'INPUTTHEPASSWORD/,10,13,'$'NUMDB?FNAMEDB50,?,
5、51DUP(?)INPUTFDB'INPUTTHEFILENAME:',10,13,'$'FCODEDW?ERRORDB10,13,'ERROR!$'TABLEDB255,?,255DUP(?)INPUTF1DB'WRITETHEFILE/,10,13,'$'COUNTDB?CHOICEDB,********************************************',13,10DBJ1:TNPUTFTLE2:JTAMT3:JTEMTOTHER:EXIT'DB1Q1A,*>*>*>*>*>*>*>*>*>*>
6、*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>^1Q1A,LO丄U,、丄J,丄U,PASSDB11,?,11DUP(?)TABLEIDB5000DUP(?)DATASENDSSTACKSSEGMENT;此处输入堆栈段代码STACKSENDSCODESSEGMENTASSUMECS:CODES,DS:DATAS,SS:STACKSSTART:MOVAX,DATASMOVDS,AX;主程序GO:MOVDX,OFFSETCHOICEMOVA
7、ll,9INT21HMOVAH,1TNT21HCMPAL,31HJNZG1CALLINPUTFILEJMPGOG1:CMPAL,32HJNZG2CALLJIAMI1JMPGOG2:CMPAL,3311JNZG3CALLJIEMI1JMPGOG3:JMPLI;初始化,建立文件INPUTFILEPROCMOVDL,10MOVAH,2INT21HMOVDL,13MOVAll,2INT21HMOVDX,OFFSETINPUTFMOVAH,9INT2111MOVDX,OFFSETFNAMEMOVAH,OAHINT21HLEAST,F
8、NAMEMOVBL,[SI+1]XORBH,BHMOVBYTEPTR[SI+BX+2],0;形成AXCIZ串LEADX,FNAME+2;建立文件MOVAH,3CHXORCX,CX1NT21HJCERROR1MOVFCODE,AXMOVDL,10MOVAH,2INT21HMOVDL,13MOVAH,2IN