数据转换程序实验.doc

数据转换程序实验.doc

ID:56104579

大小:228.50 KB

页数:6页

时间:2020-03-16

数据转换程序实验.doc_第1页
数据转换程序实验.doc_第2页
数据转换程序实验.doc_第3页
数据转换程序实验.doc_第4页
数据转换程序实验.doc_第5页
资源描述:

《数据转换程序实验.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、南京工程学院单片机实验指导书课程名称院(系、部、中心)自动化学院专业自动化(自动化)班级起止日期2010.9.27~2010.9.27指导教师一.实验目的:1.通过实验调试加深对汇编语言的应用,通过对程序的修改加深对汇编语言的用法掌握,一边更好的应用汇编语言来编写程序。2.通过自己用汇编语言来编写程序锻炼自己对汇编语言的理解和应用,并且加深自己对wave6000软件的使用。3.掌握不同进制数及编码相互转换的程序设计方法,加深对数码转换的理解。二.实验内容:程序一:将累加器A拆成二个ASCII码,并存入20H开始的二个单元中。程序:RESULTEQU20HORG0000HLJMPS

2、TARTBINTOHEX:MOVDPTR,#ASCIITABMOVB,A;暂存ASWAPAANLA,#0FH;取高四位MOVCA,@A+DPTR;查ASCII表MOVRESULT,AMOVA,BANLA,#0FHMOVCA,@A+DPTRMOVRESULT+1,ARETSTART:MOVSP,#40HMOVA,#1AHCALLBINTOHEXLJMP$ASCIITAB:DB'0123456789ABCDEF'END程序一使用了查表法,首先定义数字对应的ASCII表,设定为ASCIITAB:DB'0123456789ABCDEF',使用这个表依次设定了0123456789ABCDE

3、F的ASCII码,然后通过查表指令:MOVCA,@A+DPTR,调用查表指令,根据表中所对应的字符,得到所要求的ASCII码。实验二:不用查表方法,将累加器A拆成二个ASCII码,并存入30H开始的二个单元中。第一次编辑的程序:ORG00000HMAIN:MOVA,#0A6HMOVA,R0ANLA,#0FHMOVR1,AMOVB,#09HSUBBA,BJCNEXTMOVA,R1ADDA,#37HMOV31H,ALJMPL1NEXT:MOVA,R1ADDA,#30HMOV31H,AL1:MOVA,R0ANLA,#0F0HSWAPACLRCMOVR1,ASUBBA,BJCNEXT1M

4、OVA,R1ADDA,#37HMOV30H,ALJMPCLOSENEXT1:MOVA,R1ADDA,#30HMOV30H,ACLOSE:LJMP$END点击保存,再点击项目菜单里面编译,编辑成功,没有出错的,然后点击单步执行,执行完语句MOVA,R0后,00H的内容变为A6H,当执行到MOVR1,A语句的时候,01H寄存器的内容变为06,然后继续点击单步执行,执行完语句JCNEXT后,跳转到语句NEXT:MOVA,R1,单步执行完语句MOV31H,A后,31H内容变为36H,继续点击单步执行,当执行完MOVR1,A语句后,01H内容变为0A,执行到语句JCNEXT1后,继续执行后

5、面的语句,而不是跳转到NEXT1,MOV30H,A语句后30H,30H内容变为41H,然后点击单步执行,语句一直在语句CLOSE:LJMP$执行;程序虽然结果如下:可是感觉此程序还是有问题,首先程序开始缺少清C标志位,因而将语句改为:ORG00000HMAIN:MOVA,#0A6HMOVR0,AANLA,#0FHMOVR1,AMOVB,#09HCLRCSUBBA,BJCNEXTMOVA,R1ADDA,#37HMOV31H,ALJMPL1NEXT:MOVA,R1ADDA,#30HMOV31H,AL1:MOVA,R0ANLA,#0F0HSWAPACLRCMOVR1,ASUBBA,BJ

6、CNEXT1MOVA,R1ADDA,#37HMOV30H,ALJMPCLOSENEXT1:MOVA,R1ADDA,#30HMOV30H,ACLOSE:LJMP$END程序结果如下:编辑没有出错,然后依次点击单步执行,存储器内容跟上个程序相同;希望使用CJNE命令来改写程序,考虑到CJNE命令的使用规则:CJNEA,direct,rel;若(A)不等于direct,则PC+3+rel赋值给PC,Cy按规则形成;若(A)等于direct,则PC+3赋值给PC,Cy=0;因而程序改写如下:ORG00000HMAIN:MOVA,#0A6HMOVR0,AANLA,#0FHMOVB,#09H

7、CLRCCJNEA,B,NEXTNEXT:JCFE1ADDA,#37HMOV31H,ALJMPL1FE1:ADDA,#30HMOV31H,AL1:MOVA,R0ANLA,#0F0HSWAPACLRCMOVB,#09HCJNEA,B,NEXT1NEXT1:JCF2ADDA,#37HMOV30H,ALJMPCLOSEF2:ADDA,#30HMOV30H,ACLOSE:LJMP$END使用单步执行按钮,最终得到的结果为:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。