资源描述:
《汇编语言课程设计---大小写字母转换》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、青海师范大学课程设计报告2010~2011学年第二学期目录1、课程设计的目的·················································32、课程设计的要求·················································33、题目··························································34、设计思路·····················································
2、···35、程序流程图·······················································46、设计源程序·······················································57、动画示意图·······················································88、总结····························································89、‘参考文献····
3、························8大小写字母转换一、课程设计的目的《汇编语言课程设计》是软件工程专业集中实践性环节之一,是学习完《汇编语言》课程后进行的一次全面的综合练习。其目的是:培养学生熟练掌握汇编语言指令系统,深化和巩固指令系统和编程方法,提高学生的编程应用能力。为将来从事专业工作打下基础,培养良好的职业道德和严谨的工作作风。二、课程设计的要求1)具备初步的独立分析和解决问题的能力;2)初步掌握问题分析、系统设计、程序编码、测试等基本方法和技能;3)提高综合运用所学的理论知识和方法的能力;4)训练用系统的观点和
4、软件开发一般规范进行软件开发,培养科学的工作方法和作风;5)设计的题目要求达到一定工作量,并具有一定的深度和难度;6)编写出课程设计说明书。三、题目输入大写字母,转换成小写字母;输入小写字母转换成大写字母;非字母,发出警告声。四、课程设计报告内容设计思路:课程设计要求进行大小写字母的转换。其实字母大小写的区别在于他们的ASCII码范围,它们之间的转换其实就是加减相应的ASCII码值。在判断输入的字母是大写的还是小写的(即判断输入符号ASCII码在41H~5AH还是在61H~7AH内)之后,决定判断是加上还是减去ASCII码值。另外如
5、果输入的不是字母(输入字符对应ASCII码值不在41H~5AH或61H~7AH内),则需要报警提示,这不但涉及到用汇编语言实现发声的方法,而且对计算机硬件的了解也有要求,因此原理部分加入了部分有关声音产生的硬件知识。五、程序设计流程图开始array首地址→bx从键盘接受字符输入字母1NY报警大写转小写小写转大写退出回车换行输出结束图2-1程序流程图六、设计源程序codesegment;代码段assumecs:code,ds:codeorg100h;从100h开始start:jmpbegin;跳到beginp1db100p2db0ar
6、raydb100hdup(?);置100个字节的缓冲区存放数据begin:leabx,array;将array的首地址给bxmovax,csmovds,ax;置cs-->dsmovdx,offsetp1;将p1的偏移量给dxmovah,0ah;调用中断21的0a号功能从键盘接收字符int21hxorbx,bx;将bx清零movbl,p2;p2-->blmovarray[bx],'$';送'$'至字符串尾movdi,0ffffh;-1-->dinext:incdi;di自加cmparray[di],'$';比较jeexit;相等,则跳
7、到exit执行cmparray[di],41h;(A~Z-->41h-5aha~z-->61h-7ah)与A比较jlexit1;小于,则跳cmparray[di],5ah;与Z比较jgnext1;大于,则跳addarray[di],20h;加20h,大写转小写jmpnextnext1:cmparray[di],'$';比较jeexit;相等,则跳到exit执行cmparray[di],61h;(A~Z-->41h-5aha~z-->61h-7ah)与a比较jlnext;小于,则跳cmparray[di],7ah;与z比较jgexit
8、1;大于,则跳subarray[di],20h;减20h,小写转大写jmpnextdisp:loopnextexit:movp1,0dh;回车换行movp2,0ahmovah,09hint21hjmpbeginexit1:movp1,