第4章 27C54x的汇编语言程序设计2.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 27C54x的汇编语言程序设计2

2003.2.16 DSP原理及应用 第4章 TMS320C54x汇编语言程序设计 4.5.1 单指令重复操作 【例4.5.1】对数组进行初始化,使x[8]={0,0,0,0,0,0,0,0}。 .bss x, 8 STM #x, AR1 LD #0, A RPT #7 STL A,*AR1+ .bss x, 8 STM #x, AR1 RPTZ A, #7 STL A, *AR1+ 注意: ① 对x[8]中的8个元素置0,重复次数为7,即执行1次STL A,?AR1+指令后,再重复执行7次; ② RPTZ指令设定重复次数后,再对累加器清零。 第4章 TMS320C54x汇编语言程序设计 4.5 重复操作程序 4.5.2 块程序重复操作 对于整个程序块需要重复操作时,可采用程序块重复操作。 用于块程序重复操作指令为RPTB和RPTBD。程序块的长度由块程序重复指令RPTB的操作数来确定,而重复次数由块重复计数器BRC来决定。 通常RPTB的操作数为程序块的结束地址,而重复次数可用STM指令对BRC进行设定。 第4章 TMS320C54x汇编语言程序设计 4.5.2 块程序重复操作 块重复操作的特点: ① 程序块的起始地址RSA是RPTB指令的下一行; ② 块结束地址REA由RPTB指令的操作数规定; ③ 对程序块进行重复操作时,不论程序块多长,重复次数多大,所用的机器周期为0; ④ 与单指令重复操作不同,块重复操作可以响应中断。 第4章 TMS320C54x汇编语言程序设计 4.5.2 块程序重复操作 循环过程: ① 将块重复标志位BRAF置1,激活块程序重复循环; ② 将一个取值在0~65535范围里的循环次数N加载到BRC; ③ 块重复指令把块重复的起始地址放在块重复开始地址寄存器RSA中; ④ 块重复指令把块重复的末地址放在块重复结束地址寄存器REA中。 第4章 TMS320C54x汇编语言程序设计 4.5.2 块程序重复操作 【例4.5.2】对数组x[8]中的每一元素加1。 .bss x, 8 begin: LD #1,16,B STM #7,BRC STM #x,AR4 RPTB next-1 ADD *AR4,16,B,A STH A,*AR4+ next: LD #0,B … ;设置数组空间 ;立即数1送入BH ;设置重复次数,BRC=7,循环8次 ;数组首地址x送入AR4 ;设置循环结束地址 ;数组数据左移16位与BH相加 ;存入数组结果,并修改地址 ;B清0 注 意 ① 块结束地址REA通常取程序块最后一条指令的下一条指令地址-1; ② 重复次数为7次 ③ RPTB指令可以响应中断。 第4章 TMS320C54x汇编语言程序设计 4.5 重复操作程序 4.5.3 循环嵌套 循环嵌套是程序编制中常用的技巧,可以用来简化较为复杂的程序。 块程序重复指令RPTB所用的寄存器有: BRC——重复计数器; RSA——起始地址寄存器; REA——结束地址寄存器。 RPT重复操作可以和块重复操作RPTB以及循环操作BANZ进行嵌套,实现多重嵌套。 第4章 TMS320C54x汇编语言程序设计 【例4.5.3】三重循环嵌套程序。 STM #L-1,AR7 ;2T 1st: 外部 STM #M-1,BRC ;2T RPTB 2nd-1 ;4T 中间 中间 RPT #N-1 ;1T 内部 中间 中间 2nd: 外部 外部 BANZ 1st,*AR7- ;4T 内层 中层 外层 第4章 TMS320C54x汇编语言程序设计 4.5.3 循环嵌套 三重循环嵌套结构: 内层 中层 外层 —— RPT ——

文档评论(0)

qwd513620855 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档