版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、汇编语言程序设计课程设计题目:磁盘文件加密、解密专业:学号:姓名:2011-2012学年第二学期一. 设计目的汇编语言课程设计是对所学课程内容全面、系统的总结、巩固和提高的一项 课程实践活动。根据汇编语言的特点,选择相应的题目,在老师的指导下,由学 生独立完成。课程设计要求同学们熟悉汇编语言的编程,bios屮断调用、系统 功能调用、磁盘数据的查询、存取等相关知识。通过课程设计,一方面提高运用 汇编语言编程解决实际问题的能力,另一方面使同学们更深入的了解计算机系统 内部的有关知识,为以后的学习和系统开发奠定良好的基础。二. 设计内容从键盘输入不少于三个字符作为密钥,自己再设计一个加密算法。把磁盘
2、文 本文件(该磁盘文件名称要求键盘输入)加密后存盘,然后输入同样的密钥,把 加密后的文件(该磁盘文件名称要求键盘输入)进行解密,把解密后的文件内容 显示于屏幕上。三. 程序设计原理1. 设计一个主菜单,判别1、2、3及其他字符串所对应的操作,其中1对 应建立新文件,2对应打开磁盘文件并对其进行加密进而将加密后的文件存入磁 盘,3对应打开磁盘文件并对其进行解密进而将解密密后的文件存入磁盘,其他 字符则退出循环。2. inputfile,创建文件的子程序。文件名由键盘输入,内容可以在程序中 直接输入,也可在对应路径的文件里面直接输入。3. jiami1,加密文件的子程序。文件名由键盘输入,可以打开
3、创建的文件, 也可以打开磁盘里原有的文件。打开文件并将其放入缓冲区之后,调用password 子程序,对文件进行加密。最后将加密后的文件存入磁盘。4. j1em11,解密文件的子程序。文件名由键盘输入,可以打开创建的文件, 也可以打开磁盘里原有的文件。打开文件并将其放入缓冲区之后,调用password 子程序,对文件进行解密。最后将解密后的文件存入磁盘。并调用xianshi,将 解密后的文件显示在屏幕上。5. password,加密算法的子程序。根据输入的字符串,己大写字母z对应的 ascii码作为分界线,大于z的减去60h,小于z的减去40h。将处理过后的每 个字符对应的数据相加,存入内存单
4、元,以备加密解密算法的调用。6. xianshi,显示文件内容的子程序。先读取文件内容至缓冲区,再在缓冲 区的结尾添上美元符,输出文件内容至屏幕上。四. 程序流程图1、主要算法2、加密算法:五.源程序datas segmentkey db 11,?, 11 dup (?)inputk db ' input the password/, 10, 13,' $'num db ?fname db 50, ?, 51 dup (?)inputf db 'input the file name:', 10, 13,' $'fcode dw ?err
5、or db 10, 13,'error!$'table db 255,?,255 dup (?)inputf 1 db 'write the file/, 10, 13,' $'count db ?choice db,*', 13, 10db j 1:tnputftle 2:jtamt 3:jtemt other :exit'db1 q 1 a ,*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*&
6、gt;*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>1 q 1 a ,l o 丄 u,、丄 j,丄 u,pass db 11,?, 11 dup (?)tablei db 5000 dup(?)datas endsstacks segment;此处输入堆栈段代码stacks endscodes segmentassume cs:codes, ds:datas, ss:stacksstart:mov ax
7、,datasmov ds, ax;主程序go:mov dx,offset choicemov all, 9int 21hmov ah, 1tnt 21hcmp al, 31hjnz g1call inputfilejmp gog1:cmp al,32hjnz g2call jiami1jmp gog2: cmp al, 3311jnz g3call jiemi1jmp gog3:jmp li;初始化,建立文件inputfile procmov dl, 10mov ah, 2int 21hmov dl, 13mov all, 2int 21hmov dx,offset inputfmov ah,
8、 9int 2111mov dx,offset fnamemov ah, oahint 21hlea st,fnamemov bl, si+1xor bh, bhmov byte ptr si+bx+2,0;形成axciz串lea dx, fname+2;建立文件mov ah,3chxor cx, cx1nt 21hjc error1movfcode, axmovdl, 10movah, 2int21hmovdl, 13mov ah, 2int 21h;写入文件mov dx,offset tnputftmov ah, 9int 21hmov dx,offset tablemov ah,oahi
9、nt 21hmov ah,40hlea dx,table+2mov bx,fcodemov cl, table+1xor cll, cllint 21hjc error1mov dl, 10mov ah, 2int 21hmov dl, 13mov ah, 2int 21hcall clsretinputfile endp;j1am1jiami1 proccall clscall passwordmov dl, 10mov ah, 2int 21hmov dl, 13mov ah, 2int 2111il:mov dx, offset inputfmov ah, 9int 21hmov dx,
10、offset fnamemov ah, oahint 21hmov dl, 10mov ah, 2int 2111mov dl, 13mov ah, 2int 21hlea st,fnamemov bl, si+1xor bh, bhmov byte ptr si+bx+2,0;形成axciz串lea dx, fname+2;建立文件mov ah, 3dh;打开mov al, 0int 21hjc iimov fcode,axmov ah, 3fii;读文件lea dx,tableimov bx, fcodemov cx,5000int 2111jc error1mov cx, 5000mov
11、 bx, cxlea si,tableipush axxor ax, axmov al, numjiami:add byte ptr si,alinc siloop jiamipop axlea dx, fname+2mov all, 3ciixor cx, cxint 21hjc error1mov fcode,axxor ah, ahmov cx, 5000mov bp, 5000mov ah,40hlea dx, tableimov bx, fcodeint 21hjc error1retjiami1 exdpjien111 proccali.clscall passwordmovdl,
12、 10movah, 2int21hmovdl, 13movah, 2int21h12: n10v dx, offset inputfmovah, 9tnt21hmovdx,offset fnamemovah, oahint21hmovdl, 10movah, 2int2111movdl, 13movah, 2int21hleast, fnamemovbl, si+1xorbh, bhmovbyte ptr si+bx+2,0;形成axciz串leadx, fname+2movah, 3dh;打开mov al, 0int 21hjc 12mov fcode,axmov ah, 3fii;读文件l
13、ea dx,tableimov bx, fcodemov cx,1ooooint 2111jc error1mov cx, 5000mov bx, cxmov bp, bxlea si,tableipush axxor ax, axmov al, numjiemi:sub byte ptr si,alinc siloop jiemilea dx, fname+2mov ah, 3chxor cx, cxint 21hjc error1mov fcode,axxor ah, ahmov cx, 5000mov bp, 5000mov ah,40hlea dx, tableimov bx, fco
14、deint 2111jc error1pop axcall xtanshtjc error1retjiemi1 endppassword procpush sipush dimovdl, 10movall, 2int21hmovdl, 13movah, 2tnt21hmovdx,offsetinputkmovah, 9int21hmovdx,offsetkeymov ah,oahint 2111mov cl, key+1xor ch, chxor bx, bxlea st, keynum1:mov al,si+2cmpal,' tja clsubal, 40hjmpcocl:sub a
15、l, 6011co:inc siaddbl, alloopnum1movnum, blpopdipopsiretpassword endp ;显示文件内容xianshi procpush dxpush bxmov bx,5000mov byte ptr bx+table1,' $'lea dx,tableimov ah, 09hint 21hmov dl, 10mov ah, 2int 21hmov dl, 13mov ah, 2int 2111pop bxpop dxretx1ansh1 endpcls proc ;清屏mov ah, 6mov al, 0mov bh, 7m
16、ov cii, 0mov cl, 0mov dh, 24mov dl, 79tnt 10hmov dx, 0mov ah, 2mov bh, 0int 10hretcls endpjmp lierror1:mov dx,offset errormov all, 91nt 21hli:mov ah,4chtnt 21hcodes endsend start六.调试过程1.创建文件并对其进行加密解密1)创建文件2)加密本文件(f)巒e)斂(o): 喝舸肅帥m橐h 爼?3)解密input the password: qweinput the file name: p:er.txt hui bian
17、ke sheer -记爭本文件(f)離e)格式(o) hui bian ke shehhhhhhhhhhhhhhhhhhhhhhhhh严qoe罟先)+,q占s自)+ 冨sn03kop电犬。烙ang上老1呂叱)+ _ )+dnsqssdssd,qoij) + 庶旨 aaogsoinck ,q旨 aao) +nqoqulep) + 8n03ko3op*ljsuug,qpjsuu) + o力 sqosnsl/,q03p)+,q±si)+ jr8no3xq會bblu04 犬 jsuug q=suul/】+ 含力 sqoooo,q巻.!-!)+占。烤。bbljlq1)捉槪sb 0)用怛5錮
18、163;廿权ijis;other :qtt w : j r 冒、ibjbifib '«丿<i bi<:e : :<r : t i : t r : c ii : :cm : : : c w : 1 w 1 b l t i : c h : t i : t n : c d : :z :t ii : <"bwun tiihllahomssudixmlla hhi ifmni aasu whi indni膜xmeaiw雎左口 diabaam。总,_£) + i i 4日,g) +'-oitijopa厂昔七)+ i 03pqbl0) +
19、40d ju) +4in4li昔七)+ flipcybppqipqudkac) +40d ju) +m4昔七)+ i p jsuihbppqipvklqdkxa) +) +4i£ju) + d4l10dk) +§lrq昔犬) +40d ju) +d4昔七)+ nolrq昔七) +) +) +eulau。p jsuu) +) + 哌厚剿變迩®衣 al/x) +) +0u 戾 02】+n2u 主)+ 0踌。晋frle)吠)i4-4ooitiu嚙xd2) + i n2u 主)+0兰|兰=|夬)+d2xpk) + 4doltiu嚙xo2)+n2i/xu主)+0p jsuu
20、f7le) + 02l«i£) +4sitiu 嚙) +) +4i£ju) + - odr昔犬) +) +40dju) +mdt昔犬)+ 。黑01%弋1:>01犬昔犬|/】+|/)+柴2) +) + - ic>-療8ai/xi/x) £ieq昔七) +bijlqa昔七) +xj<nb) + - b leljebybbfblhixbqfboq自 xbeo七sbbl) +jqo±2obboqqie) +) + 一 bqlobp jb) +m 妈l-mw孝 a) +占。烤。bbrsjb) +) + bqlob j q)+d力sqnn
21、no,qcpij)+_ d£usq0050,qbblu)+n0s3hhhhh -input the password: asdfinput the file name:d:dd.txtdatas segmentkev db 11,?,11 dup<?> inputk db jinput the password:j,10,13, num db ?fname db 50,?,51 dup<?)inputf db finput the file name:j,10,13, fcode dw ?error db 10)3 j error?'table db 255
22、,?,255 dup<?>inputfi count db choicedb 13db?dbdb.lwrite the fileh0,13,八,13,101:inputfile 2:jiami3:jiemi other:exitj2:jiami 3:jiemi other ::inputfile*exit文件(f)编辑(e)格式(o) m(v)帮助(h)datas segmentkey db uli dup(?)inputk db j input the password 二 10,13, num db ?50,2 51 dup(?),二冷 the file name 二 10,13,fname db !inputf db jinputfcode dw ?error db 10,13/errorstable db 255,255 dup(?)inputfi db j write the file: 10,13/jcount db ?,choice,i iii
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 住房租赁合同
- 2025-2030民办少儿口才培训市场增长潜力与竞争壁垒分析报告
- 2025-2030民办学校教师流动性问题与解决方案研究
- 2025-2030民办国际学校行业市场发展现状及未来增长潜力研究报告
- 2025-2030民办围棋象棋培训行业发展现状及市场需求预测报告
- 2025-2030民办公务员考试培训市场调研及竞争力分析报告
- 2025-2030民办亲子早教中心行业发展现状及未来趋势预测报告
- 2025年普通车床考试试题及答案
- 2025-2030民办中小学教育质量认证体系研究
- 2025-2030民办中小学教育行业师资培训与专业发展分析报告
- 种鸡场安全培训
- 水箱维护方案(3篇)
- 乡镇资金支付管理制度
- 机械工程师试题及答案
- T/CECS 10209-2022给水用高环刚钢骨架增强聚乙烯复合管材
- 食堂居间服务协议书
- 社区干事考试试题及答案
- 维稳综治工作业务知识培训课件
- 年产50万吨合成气高温费托制化学品项目可行性研究报告写作模板-申批备案
- 国网 35kV~750kV输电线路绝缘子金具串通 用设计技术导则(试行)2024
- 超级计算与大数据-全面剖析
评论
0/150
提交评论