DSP原理及应用-汇编语言程序设计

DSP原理及应用-汇编语言程序设计

ID:43345538

大小:1.30 MB

页数:127页

时间:2019-10-08

DSP原理及应用-汇编语言程序设计_第1页
DSP原理及应用-汇编语言程序设计_第2页
DSP原理及应用-汇编语言程序设计_第3页
DSP原理及应用-汇编语言程序设计_第4页
DSP原理及应用-汇编语言程序设计_第5页
资源描述:

《DSP原理及应用-汇编语言程序设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第7章汇编语言程序设计7.1程序流程控制1一、程序存储器地址生成程序存储器中存放了指令代码、参数表和立即数。依靠程序地址生成逻辑单元(PAGEN)产生程序地址。程序地址产生逻辑共包括5个寄存器。PC/XPC、RC、BRC、RSA、REA2下面对5个寄存器进行说明:程序计数器(PC):16位程序计数器(PC)内中保存某个内部或外部程序存储器的即将要执行的指令的地址。这个地址放入程序地址总线(PAB)。扩展程序计数器(XPC):默认:XPC=0,若在扩展程序空间寻址,采用23位寻址,高7位加载到XPC。3重复计数器(RC):存放单指令重复执行次数,实际执行时多1次。例:RPT#10;执

2、行?次MVPDtable,*AR1+;执行功能?注1:RC不能对外访问。注2:单指令重复执行期间,不受理中断。4块重复计数器(BRC)、块重复起始地址寄存器(RSA)、块重复结束地址寄存器(REA)。(1)BRC存放一段指令重复执行次数,实际执行时多1次。(2)块重复起始地址(编译自动计算)执行时存入RSA。(3)块重复结束地址(程序中指定)执行时存入REA。(4)块重复执行时,可受理中断。5例如:STM#99,BRCRPTBend_block-1………………end_block:执行次数:?从哪里开始:?到哪里结束:?6二、条件操作程序’C54x的一些指令只有在满足一个或是多个条件

3、后才被执行,如条件分支转移、条件调用和条件返回等指令。这些指令都用条件来限制分支转移、调用和返回操作。这些条件可用条件算符来表示。7表7-1条件操作中的各种条件8表7-2多条件指令中的条件组合第一组第二组A类B类A类B类C类EQOVTCCBIONEQNOVNTCNCNBIOLTLEQGTGEQ在条件操作时也可以要求有多个条件,只有所有条件满足时才被认为是满足条件。这种多个条件的组合就构成了指令的多重条件。9选用多重条件时应当注意以下几点:①第1组:分为两类,最多可选择两个条件,组内两类条件可以与/或构成多重条件,但不能用组内同类条件构成与/或多重条件。③组与组之间可用或构成多重条件

4、。当选择两个条件时,累加器必须是同一个。例如,可以同时选择AGT和AOV,但不能同时选择AGT和BOV。②第2组:分为三类,最多可选三个条件,可以在每类中各选一个条件进行与/或构成多重条件,但不能在同类选两个以上条件。例如,可以同时测试TC、C和BIO,但不能同时测试NTC、C和NC。10例1、条件操作程序BCsub,BLEQ;条件分支转移若累加器B≤0,则转至sub,否则,往下执行CCstart,AGEQ,AOV;条件调用若累加器A≥0且溢出,则调用start,否则往下执行RCNTC;条件返回若TC=0,则返回,否则往下执行11无条件分支转移:无条件执行分支转移;条件分支转移:要

5、在满足一个或多个条件时才执行分支转移;远程分支转移:允许分支转移到扩展存储器。例2、分支转移举例STM#88H,AR0LD#1000H,Azhong:SUBAR0,ABCzhong,AGT,AOV;将操作数#88H装入AR0;将操作数#1000H装入ACC;将A中的内容减去AR0中的;内容结果装入A;若累加器A>0且溢出,;则转至zhong,否则往下执行分支转移指令可以改写PC值,使程序改变流向三、分支转移程序12表7-3无条件分支转移指令指令说明周期数(非延迟/延迟)B[D]用指令中给出的地址加载PC4/2BACC[D]用指定累加器(A或B)的低16位作为地址加载PC6/413表

6、7-4条件分支转移指令指令说明周期数 (条件满足/不满足)非延迟延迟BC[D]如果指令中的条件满足,就用指令中给出的地址加载PC5/33/3BANZ[D]如果所选择的辅助寄存器不等于0,就用指令中给出的地址加载PC(用于循环)4/22/214表7-5远分支转移指令指令说明周期数(非 延迟/延迟)FB[D]可以转移到由指令所给定的23位地址(C5402为20位地址)4/2FBACC[D]可以转移到指定累加器所给定的23位地址(C5402为20位地址)6/415与分支转移一样,通过传送控制到程序存储器的其他位置,子程序调用会中断连续的指令流。但是与分支转移不同的是,这种传送是临时的。当

7、函数的子程序被调用时,紧跟在调用后的下一条指令的地址保存在堆栈中。这个地址用于返回到调用程序并继续执行调用前的程序。子程序调用操作分成两种形式:无条件调用和条件调用,两者都可以带延时操作和不带延时操作。四、子程序调用与返回程序16无条件调用是指无条件执行调用。条件调用和无条件调用操作相同,但是条件调用要在满足一个或多个条件时才执行调用。远程调用允许对扩展存储器的子程序或函数进行调用。17表7-6无条件调用与返回指令18表7-7条件调用与返回指令19表7-8远调用和远返

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

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

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