2008-2009学年二期主讲:倪宁.ppt

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

DSP应用基础 2008-2009学年二期 主讲:倪宁 常用的汇编命令 5.2 堆栈的使用方法 在C54xDSP中,允许用户在数据存储区建立软件堆栈,且提供了一个堆栈指针(SP)寄存器来进行堆栈寻址操作。 堆栈用途:用于中断服务程序、子程序调用中。 数据操作的原则:“先入先出” 数据操作的顺序:向堆栈中压入数据时,按照地址从高到低的顺序进行。 压栈时,堆栈指针先减1, 再压入数据; 出栈时,先弹出数据,然后将堆栈指针加1。 1. 设置堆栈 (先设置,后使用) 例: 设计一个存储空间为100个单元的堆栈。 size .set 100 ;Size---表示堆栈的大小 stack .usect “STK” ,size ;堆栈首地址为stack,大小为100 STM #stack + size ,SP ;将栈底地址指针作为SP的初始值。 堆栈区应开辟多大?可按以下步骤完成? (1)先开辟一个较大的堆栈区,并用已知数填充。如: LD # -9224, B ; 填充区要填充的数0DBF8h加载B STM #length, AR1 ; 设置循环次数 MVMM SP, AR4 ; 设置数据指针AR4, SP?AR4 Loop: STL B, *AR4- ; 循环填充数据。 BANZ loop , *AR1- (2) 运行程序, 执行所有堆栈操作。如图(a) 执行完程序,堆栈区中的所有单元均填充0DBF8H(-9224). (3) 检查堆栈中的数值。如图(b)所示,其中,用过的堆栈区才是实际需要的堆栈空间。 例:堆栈的使用方法 .title dsp_5_I.asm; 堆栈操作 size .set 30 ;100 stack .usect STK,size ; 堆栈的设置, 120个单元 .bss length, 1 .def _c_int00 .text _c_int00: STM #stack+size , SP ;设置堆栈指针 LD #100H,A ;堆栈区要填充的数加载A ;STM #length,AR1 ;设置循环次数 STM #10H,AR1 ;设置循环次数 MVMM SP,AR4 ;设置数据指针AR7 , SP--AR7 loop: STL A, *AR4- ;循环,填充数据 BANZ loop, *AR1- ;入堆栈 stm #007H,AR1 PSHM AR1 POPM AR3 end: B end .end 5.5 算术算运程序 在数字信号处理中,加法与乘法是常见的运算。 例:计算z=x+y-w 例:计算z=x+y-w(用子程序方法) .title dsp_5_A.asm .bss x,1 .bss y,1 .bss w,1 .bss z,1 .def _c_int00 .data table: .word 20H,20H,20H .text _c_int00: RSBX CPL ;CPL=0 方式 LD #1,DP STM #x,AR1 ; 将x的地址存储到AR1中 RPT #2 MVPD table,*AR1+ ;从程序存储器传送到数据存储器 call SUMB end: B end SUMB: LD @x,A ;将x值装入累加品中。 ADD @y,A SUB @w,A STL A,@z ;将累加器的低端放入数据存储器中 RET .end 简化方式计算:y=x+y-w(不用子程序)) .title dsp_5_A.asm .bss x,1 .bss y,1 .bss w,1 .bss z,1 .def _c_int00 .data table: .word 20H,20H,20H .text _c_int00: RSBX CPL ;CPL=0 方式 LD #1,DP STM #x,AR1 ; 将x的地址存储到AR1中 RPT #2 MVPD table,*AR1+ ;从程序存储

文档评论(0)

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

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

1亿VIP精品文档

相关文档