汇编语言程序课件.ppt

汇编语言程序课件.ppt

ID:57018161

大小:2.42 MB

页数:85页

时间:2020-07-26

汇编语言程序课件.ppt_第1页
汇编语言程序课件.ppt_第2页
汇编语言程序课件.ppt_第3页
汇编语言程序课件.ppt_第4页
汇编语言程序课件.ppt_第5页
资源描述:

《汇编语言程序课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第五章汇编语言程序设计1程序设计方法2顺序程序3分支程序4循环程序5子程序6位操作程序1、本章教学内容:(1)汇编应用概述(2)简单程序设计(3)分支程序(4)循环程序(5)查表程序(6)子程序的设计及其调用(7)位操作程序2、本章基本要求(1)掌握简单程序设计(2)掌握分支和散转程序设计(3)理解循环程序(4)掌握简单查表程序(5)掌握子程序的设计、位操作程序5-1-2汇编语言程序设计步骤一、分析问题,建立数学模型。二、确定算法:对待定问题求解步骤的一种描述,是指令的有限集合,算法有五个特征:有穷性、确定性、可行

2、性、输入、输出三、制定程序流程图:表示程序结构和程序功能开始1YN?四、编制源程序1.确定数据结构:合理分配存储器单元和了解I/O接口地址。2.按功能设计,明确各程序之间关系。3.用注释行说明程序。生成一个ASCII码文件,扩展名为“.ASM”。五、对源程序进行交叉汇编得到机器代码;反汇编——分析现成产品的程序,要将二进制的机器代码语言程序翻译成汇编语言源程序。六、程序调试。通过微计算机的串行口(或并行口)把机器代码传送到用户样机(或在线仿真器)进行程序的调试和运行。5.1.3评价程序质量的标准(1)程序的执行时间。

3、(2)程序所占用的内存字节数。(3)程序的逻辑性、可读性。(4)程序的兼容性、可扩展性。(5)程序的可靠性。5-2顺序程序程序走向只有一条路径,既无分支又无循环。例1双:字节变补程序(设数据在R4R5中):MOVA,R5;取低字节CPLAADDA,#1;低字节变补MOVR5,AMOVA,R4;取高字节CPLAADDCA,#0;高字节变补MOVR4,Aorg0000hsjmpstartorg30hSTART:MOVA,R5CPLAINCAMOVR5,AJZLOOP1MOVA,R4CPLAMOVR4,ASJMPLOOP2

4、LOOP1:MOVA,R4CPLAINCAMOVR4,ALOOP2:sjmp$END例2.数据传送和交换。将R0与R7内容互换,R4与内存20H单元内容互换。XCHR:MOVA,R0XCHA,R7XCHA,R0;R0与R7内容互换MOVA,R4XCHA,20HXCHA,R4;R4与20H单元内容互换CLRCMOVA,R0;取被加数低字节至AADDA,R2;与加数低字节相加MOVR0,A;存和数低字节MOVA,Rl;取被加数高字节至AADDCA,R3;与加数高字节相加MOVRl,A;存和数高字节MOVA,#0ADDCA

5、,#0;加进位位MOVR2,A;存和数进位位SJMP$;原地踏步例3:两个双字节无符号数,分别存放在R1R0和R3R2中,高字节在前,低字节在后。两数相加,和数放回R2R1R0中。设被加数存放于片内RAM的21H20H,加数放于23H22H,高字节在前,低字节在后,运算结果的和存于10H21H20HSTART:PUSHACC;将A进栈保护MOVR0,#20H;将20H地址送R0MOVR1,#22H;将22H地址值送R1MOVA,@R0;被加数低字节内容送AADDA,@R1;低字节数相加MOV@R0,A;低字节数和存2

6、0H中INCR0;指向被加数高位字节INCR1;指向加数高位字节MOVA,@R0;被加数高位字节送AADDCA,@R1;高字节数带进位相加MOV@R0,A;高字节数和存21H中CLRAADDCA,#00HMOV10H,A;进位暂存于10H中POPACC;恢复A原内容双字节相乘的过程如下:例5-2压缩式BCD码存放在内部RAM20H单元,分解并转换成ASCII码,高半字节存入21H,低半字节存入22H。方法一:ORG1000HMOVR0,#22H;2B1TMOV@R0,#0H;低字节清零2B1TMOVA,20H2B1T

7、XCHDA,@R01B1TORL22H,#30H3B2TSWAPA;十位到低半字节1B1TORLA,#30H2B1TMOV21H,A2B1TSJMP$;暂存END;8条指令、15个内存字节、9个机器周期。方法二:采用除10H取余数将BCD拆开ORG1000HMOVA,20H;2B1TMOVB,#10H;3B2TDIVAB;1B4TORLB,#30H;3B2TMOV22H,B;3B2TORLA,#30H;2B1TMOV21H,A;2B1TSJMP$END;7条指令、16个内存字节、13个机器周期。方法三:采用同#0FH

8、、#0F0H相与的方法分离高低4位,将两个BCD数分开。ORG1000HMOVA,20HANLA,#0FHORLA,#30HMOV22H,AMOVA,20HANLA,#0F0HSWAPAORLA,#30HMOV21H,A;9条指令,17个字节,9个机器周期;例5-4将内部RAM中的20H单元中的8位无符号二进制数转化为3位BCD码,并将结果放在

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

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

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