片机原理与应用技术第5节汇编语言程序的基本结构

片机原理与应用技术第5节汇编语言程序的基本结构

ID:39530793

大小:642.51 KB

页数:46页

时间:2019-07-05

片机原理与应用技术第5节汇编语言程序的基本结构_第1页
片机原理与应用技术第5节汇编语言程序的基本结构_第2页
片机原理与应用技术第5节汇编语言程序的基本结构_第3页
片机原理与应用技术第5节汇编语言程序的基本结构_第4页
片机原理与应用技术第5节汇编语言程序的基本结构_第5页
资源描述:

《片机原理与应用技术第5节汇编语言程序的基本结构》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、3.5汇编语言程序的基本结构汇编语言源程序设计通常采用结构化设计方法,任何复杂的程序都可分解为:顺序结构部分分支结构部分循环结构部分子程序部分3.5.1顺序程序设计【例】【功能】求变量X()的平方。【入口参数】X值存放在片内RAM的30H单元【出口参数】X2值存放在片内RAM的31H单元程序框图如图3.10所示。ORG1000HSTART:MOVDPTR,#2000HMOVA,30HMOVCA,@A+DPTRMOV31H,ASJMP$ORG2000HTABLE:DB00,01,04,09,16,25END特点:从

2、第一条指令开始顺序执行,直到最后一条指令图3.10顺序程序流程图3.5.2分支程序设计分支:根据某种标志改变程序执行的顺序。一般分为单分支、多分支。分支流程图如图3.11所示。(a)单分支(b)多分支图3.11分支程序流程图3.5.2分支程序设计1.单分支【例】【功能】某装置有自动/手动控制按键,按键状态由P1.0口输入;高电平为自动控制,低电平为手动控制【入口参数】P1.0CY:JBP1.0,AUTOHC:……LJMPCYAUTO:……LJMPCY3.5.2分支程序设计2.多分支包括一般多分支和散转多分支。1)

3、一般多分支【例】【功能】x、y均为8位二进制数,求解:【入口参数】(R0)=x。【出口参数】(R1)=y。3.5.2分支程序设计START:CJNER0,#00H,SUL1;判断R0是否为0,为0转SUL1MOVR1,#00HSJMPSUL2SUL1:JCNEG;小于0转NEGMOVR1,#01HSJMPSUL2NEG:MOVR1,#0FFHSUL2:RET3.5.2分支程序设计2)散转多分支程序根据某种输入或运算的结果转向各个处理程序称为散转多分支,即散转程序。(1)利用转移指令表实现转移将转移到不同程序的转移

4、指令列成表格,判断条件后查表,执行表中的转移指令。【例】【功能】某菜单有9项。根据输入数码转去执行相应的子程序。即输入“1”,执行子程序1;输入“2”,执行子程序2;依次类推。3.5.2分支程序设计【分析】用直接转移指令组成一个转移表,然后把菜单号读入累加器(A),转移表首地址放入DPTR中,利用JMP@A+DPTR实现散转。【入口参数】(R3)=存输入键盘码1~9。【出口参数】转移到相应的子程序入口。ORG0030HKEY_JMP:MOVDPTR,#TAB1;子程序入口首地址送DPTRMOVA,R3;把键盘输入

5、缓冲区内容送累加器(A)DECA;由于输入数码为1~9,因此需减1MOVB,#03H3.5.2分支程序设计MULAB;由于长跳转指令LJMP占用3B,;各子程序入口地址相距3BJMP@A+DPTR;根据输入码,执行相应的子程序ORG2000H;程序入口地址表TAB1:LJMPNO1LJMPNO2LJMPNO3LJMPNO4LJMPNO5LJMPNO6LJMPNO7LJMPNO8LJMPNO9END3.5.2分支程序设计(2)利用转向地址表实现转移这种方法将转移地址列成表格,将表格的内容作为转移的目标地址。【例】【

6、功能】根据R3(0~n)的内容转向对应的程序;处理程序的入口符号地址分别为PR0~PRn(n<256)【分析】将PR0~PRn入口地址列在表格中,每一项占两个单元;PRn在表中的偏移量为2n,因此将R3的内容乘“2”即得PRn在表中的偏移地址;从偏移地址2n和2n+1两个单元分别取出PRn的高8位地址和低8位地址送DPTR寄存器,用JMP@A+DPTR指令(A先清零)即转移到PRn入口执行。3.5.2分支程序设计【入口参数】(R3)=0~n转移。【出口参数】转移到相应的子程序入口。PR0EQU0110HPR1EQ

7、U0220HPR2EQU0330H·······················ORG0030HKEY_JMP:MOVDPTR,#TABMOVA,R3ADDA,R3;(A)←(R3)*2JNCNADDINCDPH;(R3*2)>2563.5.2分支程序设计NADD:MOVR3,AMOVCA,@A+DPTRXCHA,R3;转移地址高8位INCAMOVCA,@A+DPTRMOVDPL,A;转移地址低8位MOVDPH,R3CLRAJMP@A+DPTRTAB:DWPR0,PR1,PR2,···········PRnPR0

8、:处理程序0PR1:处理程序1··PRn:处理程序nEND3.5.2分支程序设计(3)利用地址偏移量表实现散转这种方法将转移目标地址与表首地址差列表,作为转移目标地址。【例】【功能】有5个按键0,1,2,3,4,根据按下的键转向不同的处理程序,分别为PR0,PR1,PR2,PR3,PR4。【分析】汇编时,利用了伪指令的数学计算功能,标首地址加上处理程序与标首地址差转到处理

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

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

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