汇编语言课程设计报告报告
显示变换后的字符串
masl byte mas2 byte**',13,10,0
masl byte mas2 byte
**',13,10,0
四、程序源代码
in elude io32.i nc
.data '*************************************' 13 10 0
编密码
mas3 byte
\ *************************************
',13,10,0
BUF1 byte 'Please in put random stri ng,e nd with En ter key:'; 提示输入
BUF2 dword 10 dup(O);存放输入的字符,假设最多 10个字符
BUF3 dword ?;存放转换过的字符
.code start:
mov eax,offset mas1 call dispmsg
mov eax,offset mas2
call dispmsg
mov eax,offset mas3 call dispmsg
start1:
mov eax,offset BUF1
call dispmsg
mov eax,offset BUF2
call readmsg ;输入一个字符串
mov esi,0
mov ecx,le ngthof BUF2 ;字符串的长度
mov edx,offset BUF2 ; EDX指向输入缓冲区 mov edi,offset BUF3
aga in:
mov al,[edx] ;取一个字符
inc edx cmp al,0
jz zui
cmp al,41H;判断是不是字母
jc read1;是数字转到read1 cmp al,61H;判断是不是小写 jc read6;小于是大写 cmp al,77H;是不是超过小写z
jae read5;大于等于
jmp read4;小写加 4
read1:
mov [edi],al
inc edi
jmp again read2:
cmp al,57h; 超过大写 Z
jae read3
add al,04H ;是大写,先 +4
mov [edi],al
inc edi
jmp again
jmp read4 read5:
cmp al,7BH; 不是小写字母 jae read1 jmp read3 read6:
cmp al,5BH
jc read2; 小于是小写的jmp read1
read3:
sub al,22 ;减 22
jmp read1
read4:
add al,04H
mov [edi],al
inc edi
jmp again
loop again zui:
mov eax,offset BUF3
call dispmsg
call dispcrlf
mov edx,offset BUF2 ; 清空缓存区 mov edi,offset BUF3 mov ecx,10
mov esi,0
qing:
mov [edx],esi
mov [edi],esi
loop qing
jmp start1
exit 0 end start
五、效果图
■71
胆:町匚编语言逞序实验€匚编语言程序实
2012/06/83
2012/06/03
1?:H
23 H8
eZ匚编语言程序实验弋匚编语言程序实殓wsn的目录
"百匚编语言程序实验殆匚编语盲程序实M^1ftSM>nake32 00B
Mic^soJt <B> Macro Assemblep Uepsi?n &.15.8803
Copifriglit <<!> Microsoft Corp 1981-2iB00. All fights reserved
000,asn
l 00exe
MtJU.lst
000. obj
425宇爷
.344可用字节
Micro^oft UindoiPtr 【扳卒 &0OJ
版权、所有 ?)2609 Microsoft Cdf^orationD保留所有■权列
Assembling: 00U_asn
Microsoft CJt》I ncrenen tai Linket* Ue rs io n 6 - 80.81^S
CupprlyliL <€> Hiurusuf t Corjj 丄952—1$96 - All t'lyhlsi retiefued
琶理员刃血垃
F: X编语窖程序实验弋匚编语言程序实验^ASM>000 戸KJCKKXJC 弱其 X>C XMLJCJCXJtX JCJC KK X如騎MLJCJt JCHJCKMKK 其竝 ** 编密码 **
string^end with string^end uith striny^encl with ati'in^,cr
string^end with string^end uith striny^encl with ati'in^,cr)d witl> 口-歧ntl uith
Please input random 123-15
Please in put randon gleur
Please in put random glenrrsl
Please in put randon ,,ue}ivsl
Please inQttt FEndori
Enter key=12345
Enter- ke^:chaii
Entei* ke9:chainnol
Enter heir:,?jmdl
Enter* key:
六、遇到问题及解决方法
在开始编好程序的时候,我发现输出的并不是我想要的结果,后来在调试程 序中我用-t指令进行逐步运行程序,我才发现我的错误之处。原来我在程序的里 面没有注意看wyzx的转变,后来在加了两个判断,并将 wxyz减22得到相应的 abed,在改正之后,整个程序就运行得到我想要的结果了。
七、体会和心得
体会:在做实验之前,我有很多的指令不熟悉,不少指令都不会用,通过做 实验,我对这些指令更加熟悉,用起来更加熟练。有很多问题,不通过做实验, 可能永远也不会知道。也许很多知识我们也知道,当在真正解决问题时,不一定 能够想到。只有通过做实验,我才对很多知识有了更深的认识。
在做实验时,我也碰到很多问题,正是通过分析这些问题,解决这些问题, 我才逐渐真正掌握了某些知识。以前看书的时候,我感觉很多知识我似乎也会了, 某些题目我似乎也能解决了。
但是真正做起实验, 我才发现, 实际上我还有很多 知识没有掌握好。通过实验的学习,我对学习汇编语言有了一个更深的认识。
同时,我也真正认识到, 学习这些计算机语言, 只有通过大量的实验才能够 真正的掌握那些知识。
也只有通过实验才能够让我们意识到自己的不足之处, 从 而改正。在做实验的过程中,我通过调试,让我解决了很多问题,也让我以前一 些不理解的知识变得更加明白。
最重要的是让我对一些知识有了深刻的印象, 不 容易遗忘。
意见:我想,可以用来做汇编实验的软件有很多,依我看来,这是完全没有 必要的, 我们完全可以用更方便的实验工具来进行汇编实验。
例如: Masm 集成 实验环境 ,这种软件编起汇编来很方便,为我们做起汇编实验大大的节省了时 间。我想:我们做汇编实验的目的就是让我们对汇编语言的相关知识有更深的了 解,对掌握知识进行更好的巩固。
而用更方便的编辑工具并不影响我们对相关知 识的理解和掌握
热门文章:
- 中班数学教学工作计划下学期篇3篇2023-12-21
- 公司保安部工作年终总结范文4篇2023-12-20
- 六一儿童节游园活动计划总结4篇2023-12-20
- 乡镇双拥工作计划范文简洁版4篇2023-12-20
- 2024医院门诊第二季度工作计划合集6篇2023-12-20
- 家庭护理服务项目工作计划篇4篇2023-12-20
- 班级安全教育个人工作计划3篇2023-12-20
- 2024年社区教育个人工作计划6篇2023-12-20
- 市医院办公室工作计划12篇2023-12-20
- 八年级生物辅导差生工作计划篇3篇2023-12-20
相关文章: