汇编语言代码转换 大小写,二进制,十进制,16进制的相互转换

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

《微机原理与接口技术》课程设计(学年论文)说明书课题名称:代码转换程序设计(A3-2)学生学号:专业班级:学生姓名:学生成绩:指导教师:陈裕国课题工作时间:2011-6-13至2011-6-18武汉工程大学教务处制2填写说明:1.一、二、三项由指导教师在课程设计(学年论文)开始前填写并交由学生保管;2.四、五两项由学生在完成课程设计后填写,并将此表与课程设计一同装订成册交给指导教师;3.成绩评定由指导教师按评定标准评分。4.此表格填写好后与正文一同装订成册。3一、课程设计任务和基本要求:(一)设计任务使用汇编语言设计一个程序,实现大小写字母、二进制与十六进制、十六进制与十进制的转换。1.有提示从键盘输入,在提示中最好给一个输入的例子;2.输入错误或者输入其他字符,有提示输入错误的信息显示;3.能够多次输入和显示结果。4.实现从键盘输入16位二进制数,转换成4位十六进制数显示出来。(二)基本要求1.有程序设计的分析、思路说明;2.有程序流程框图;3.程序代码及注释说明;4.上机实验步骤;5.程序运行结果的截屏图片。指导教师签字:教研室主任签字:年月日年月日二、进度安排:周一上午:4明确课程设计任务和要求、设计原理。周一下午~周三上午:查看参考资料、完成理论设计(程序代码、原理图等)。周三下午~周五:上机、实验、调试,完成设计。周六上午:检查设计结果、提问、答辩。周六下午:撰写课程设计报告。三、应收集资料及主要参考文献:(一)应收集资料1.有关DOS调用、ASCII码、BCD码的知识;2.大小写字母、二进制与十六进制、十六进制与十进制的转换方法;3.8086宏汇编的相关定义、调用。(二)主要参考文献1.宋杰,汪志宏,江敏.微机原理与接口技术课程设计[M].北京:机械工业出版社,20062.冯博琴.微型计算机计原理与接口技术[M].北京:清华大学出版社,20073.王玉良.微机原理与接口技术[M].北京:北京邮电大学出版社,20004.龚尚福.微机原理与接口技术[M].西安:西安电子科技大学出版社,20085.刘锋.微机原理与接口技术[M].北京:机械工业出版社,2009四、课程设计摘要(中文):本次课程设计的主要目的是利用汇编语言编写一个程序,实现从键盘多次输入和显示结果从而达到大小写字母、二进制与十六进制、十进制与十六进制之间的转换;5并且当输入错误的字符时,会显示错误信息.大小写转换,主要利用小写字母比大小字母大20H的关系,将小写字母减20H就转换为大写字母,将大写字母加20H就转换为小写字母;二进制、十进制以及16进制,主要利用0到9的数值等于相应ASCALL码减30H,而A到F的数值等于相应ASCALL码减37H,这样即可利用移位,将键盘输入的值以二进制形式存储在寄存器中,除十取余取整等方法实现其相互转换。通过这次课程设计,我们了解了宏汇编指令的特点,DOS功能调用的用法,加深了对程序进行汇编的理解,进一步掌握了8088系统中一些指令的用法,从而加深了对课本知识的理解,使我们学以致用,把理论应用于实践.五、课程设计摘要(英文):6六、成绩评定:指导教师评语:指导教师签字:200年月日项目评价项目评价调查论证工作量、工作态度实践能力分析、解决问题能力质量创新得分7七、答辩记录:答辩意见及答辩成绩答辩小组教师(签字):200年月日总评成绩:(教师评分×75%+答辩成绩×25%)课程设计评审标准(指导教师用)评价内容具体要求权重调查论证能独立查阅文献和从事其他调研;能提出并较好地论述课题的实施方案;有收集、加工各种信息及获得新知识的能力。0.1实践能力能正确选择研究(实验)方法,独立进行研究工作。如装0.28置安装、调试、操作。分析解决问题能力能运用所学知识和技能去发现与解决实际问题;能正确处理实验数据;能对课题进行理论分析,得出有价值的结论。0.2工作量、工作态度按期圆满完成规定的任务,工作量饱满,难度较大,工作努力,遵守纪律;工作作风严谨务实。0.2质量综述简练完整,有见解;立论正确,论述充分,结论严谨合理;实验正确,分析处理科学;文字通顺,技术用语准确,符号统一,编号齐全,书写工整规范,图表完备、整洁、正确;论文结果有应用价值。0.2创新工作中有创新意识;对前人工作有改进或独特见解。0.19代码转换程序设计说明书1、方案论证(1)大小写字母、二进制与十六进制、十六进制与十进制的转换方法在计算机系统中有多种数制和编码,常用的有二进制,八进制以及16进制。这些数制和编码虽然在储存形式上各有差异,但彼此也相互联系。大小写转换,主要利用小写字母比大小字母大20H的关系,将小写字母减20H就转换为大写字母,将大写字母加20H就转换为小写字母。二进制,十进制以及16进制,主要利用0到9的数值等于相应ASCALL码减30H,而A到F的数值等于相应ASCALL码减37H,这样即可利用移位,除十取余取整等方法实现其相互转换。(2)宏汇编程序设计要点宏是源程序中的一段有独立功能的程序代码。宏指令,用户自定义的指令。编程序时候,将多次使用的功能用一条宏指令来代替。汇编包括指令,伪指令,宏指令。前两个都是规定的,最后一个是自己设计的。好处是用起来方便定义,但是要先定义,后调用,其优点是可以随时随地的调用宏汇编程序。2、程序设计(1)总体设计对“实现从键盘输入16位二进制数,转换成4位十六进制数显示出来。”的分析处理。首先将键盘输入的二进制数以二进制形式储存起来:每次输入,将其ASCALL码值将减去30H,然后左移一位,在然后与下个输入的减30H的数相加,这样就将键盘输入的值以二进制形式储存在寄存器中.二进制转换为16进制数输出:用循环指令左移四位,取出最低4位,利用16进制所对应的ASCALL码值比其本身大30H或37H的关系,将低位转换成对应的ASCALL码值,再调用DOS系统显示字符功能,将转换后的字符显示出来,如此循环四次即可.程序总流程图:10(2)程序设计二进制转十六进制流程图:主程序开始B还是退出Q?退出QB开始主程序1子程序2:小写转大写显示提示信息与转换例子输入字符是小写字母吗?ASCALL码减20H输出转换结果YN显示输入错误子程序3:大写转小写显示提示信息与转换例子输入字符是大写字母吗?ASCALL码加20H输出转换结果YN显示输入错误子程序4:2进制转16进制显示提示信息与转换例子子程序7:2进制转16进制显示提示信息输入字符是2进制数吗?输出转换结果YN显示输入错误子程序5:16进制转2进制显示提示信息与转换例子输入字符是16进制数吗?输出转换结果N显示输入错误Y子程序616转10进制显示提示信息与转换例子输入字符是16进制数吗?输出转换结果N显示输入错误Y主程序开始B还是退出Q?退出QB开始主程序1子程序2:小写转大写显示提示信息与转换例子输入字符是小写字母吗?ASCALL码减20H输出转换结果YN显示输入错误子程序3:大写转小写显示提示信息与转换例子输入字符是大写字母吗?ASCALL码加20H输出转换结果YN显示输入错误子程序4:2进制转16进制显示提示信息与转换例子子程序7:2进制转16进制显示提示信息输入字符是2进制数吗?输出转换结果YN显示输入错误子程序5:16进制转2进制显示提示信息与转换例子输入字符是16进制数吗?输出转换结果N显示输入错误Y子程序616转10进制显示提示信息与转换例子输入字符是16进制数吗?输出转换结果N显示输入错误Y主程序开始B还是退出Q?退出QB开始主程序1子程序2:小写转大写显示提示信息与转换例子输入字符是小写字母吗?ASCALL码减20H输出转换结果YN显示输入错误子程序3:大写转小写显示提示信息与转换例子输入字符是大写字母吗?ASCALL码加20H输出转换结果YN显示输入错误子程序4:2进制转16进制显示提示信息与转换例子子程序7:2进制转16进制显示提示信息输入字符是2进制数吗?输出转换结果YN显示输入错误子程序5:16进制转2进制显示提示信息与转换例子输入字符是16进制数吗?输出转换结果N显示输入错误Y子程序616转10进制显示提示信息与转换例子输入字符是16进制数吗?输出转换结果N显示输入错误Y11程序代码及注释:;7.ASMPUBLICXPEXTRNINFO4:BYTE,INFO1:BYTE,INFO2:BYTECODESEGMENTXPPROCFARASSUMECS:CODECALLDEC2BIN;调用将键盘输入的ASCALL值转换为二进制数LEADX,INFO2MOVAH,9INT21H;显示提示信息CALLBIN2HEX;调用将储存的二进制转换为16进制函数MOVDL,'H'MOVAH,2INT21HRETCAL:MOVDL,0DHMOVAH,2INT21HMOVDL,0AHMOVAH,2INT21H子程序7:2进制转16进制显示提示信息输入字符是2进制数吗?将输入的值以二进制形式储存N显示输入错误每次左移四位转换为对应16进制数显示输出显示结果Y12LEADX,INFO4MOVAH,9INT21H;输入非二进制数,显示错误DEC2BINPROCNEARLEADX,INFO1MOVAH,9INT21H;显示提示信息XORBX,BX;BX清零NEWCHAR:MOVAH,1INT21H;键盘输入,存放在AL中CMPAL,0DHJERE;如果输入回车键,键盘输入结束SUBAL,30HJLCALCMPAL,1JGCAL;输入为非二进制数,显示错误并退出CBWXCHGAX,BXMOVCX,2MULCXXCHGAX,BXADDBX,AXJMPNEWCHAR;将键盘输入的制转换为二进制数,存放在BX中,并且每输入一个值,先将BX左移一位再相加.RE:MOVDL,'B'MOVAH,2INT21HRETDEC2BINENDPBIN2HEXPROCNEARMOVCH,4ROTATE:MOVCL,4ROLBX,CL;BX每左移4位输出,四位二进制表示一位十六13进制MOVAL,BLANDAL,0FHADDAL,30HCMPAL,3AHJLPRINTIT;结果若为0到9的数,则加30H后直接输出ADDAL,07H;结果若为A到F的数,则加30H后再加07H直接输出PRINTIT:MOVDL,ALMOVAH,2INT21HDECCHJNEROTATERETBIN2HEXENDPCRLFPROCNEARMOVDL,0DHMOVAH,2INT21HMOVDL,0AHMOVAH,2INT21H;回车换行RETCRLFENDPXPENDPCODEENDSEND3、程序调试步骤与结果(1)编辑源程序(2)汇编源程序14(3)连接程序(4)在TD中调试程序15(5)程序运行结果16结果说明:当输入小写字母(如a)时,就转换成相应的大写字母(如A),反之亦然;当如入二进制(如1011B),,就转换成相应的十六进数(000BH),反之亦然;如果输入的字母或数字不符合要求,就会显示“INPUTERROR”4、结论

1 / 16
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功