网站大量收购闲置独家精品文档,联系QQ:2885784924

东北大学数字信号处理课件-汇编语言程序设计.ppt

东北大学数字信号处理课件-汇编语言程序设计.ppt

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

第7章 汇编语言程序设计 7.1 程序流程控制 7.2 数据块传送 7.3 定点数的基本算术运算 7.4 长字运算和并行运算 7.5 FIR滤波器的DSP实现 7.6 IIR数字滤波器的DSP实现 7.7 FFT运算的DSP实现 7.1 程序流程控制 7.1.1 程序存储器地址生成 7.1.2 条件操作 7.1.3 分支转移 7.1.4 调用与返回 7.1.5 重复操作 7.1.6 TMS320C54x中断系统 7.1.7 堆栈的使用 7.1.1 程序存储器地址生成 程序存储器中存放指令代码、参数表和立即数 程序地址产生逻辑(PAGEN), 5个寄存器: 程序计数器(PC) 重复计数器(RC) 块重复计数器(BRC) 块重复起始地址寄存器(RSA) 块重复结束地址寄存器(REA) 7.1.2 条件操作 条件指令中的各种条件 单条件 使用单个条件做为条件指令的操作数,只有在条件满足时指令才能执行 多条件 使用多个条件做为条件指令的操作数,只有在所有条件都满足时指令才能执行(与) 7.1.3 分支转移 分类: 无条件分支转移指令 条件分支转移指令 非延迟 延迟 7.1.4 调用与返回 分类: 无条件调用与返回指令 条件调用与返回指令 非延迟 延迟 7.1.5 重复操作 1.单条指令的重复操作 RPT(重复执行下一条指令) RPTZ(累加器清0后重复执行下一条指令) 重复执行其后的一条指令,重复的次数是指令操作数加1 重复的次数保存在16位的重复计数寄存器RC中 RC 只能由重复指令(RPT或RPTZ)加载,而不能编程设置 指令重复执行的最大次数是65536 7.1.5 重复操作 2.块重复操作指令 块重复指令RPTB 用于将一个码块重复执行N+1次 BRC :N,0~65535 RSA:RPTB指令的下一条指令的地址 REA: RPTB指令的操作数,块最后一条指令的最后一个字的地址 BRAF/ST1 块重复操作执行期间可以响应中断 例7-2 7.1.6 TMS320C54x中断系统 1.中断类型 软件中断:由指令产生(INTR、TRAP或RESET) 硬件中断:硬件中断由外设产生,包括两种类型: ①外部硬件中断,由芯片中断引脚的信号触发 ②内部硬件中断,由片内外设的信号触发 可屏蔽中断:软件可允许或禁止的中断,SINT15-SINT0 非屏蔽中断: 不能被软件屏蔽的中断 软件中断,INTR K/TRAP K/RESET 外部RS NMI 7.1.6 TMS320C54x中断系统 2.中断标志寄存器(IFR)和中断屏蔽寄存器(IMR) 中断标志寄存器(IFR):MMR,01H 1:未响应的中断 0: 复位 中断响应 IFR相应位写1(如 STM #0FFFFH,IFR ;清中断标志寄存器) 执行相应中断号的INTR指令 中断屏蔽寄存器(IMR):MMR,00H 1:允许相应可屏蔽中断(INTM=0) 0:禁止相应可屏蔽中断 7.1.6 TMS320C54x中断系统 3.中断响应过程 (1)接受中断请求 IFR相应位置1,中断响应后清除。 (2)响应中断 (3)执行中断服务程序(ISR) 7.1.6 TMS320C54x中断系统 4.重新映象中断向量地址 C54x的中断向量表是可重定位的 复位时,中断向量表的起始地址固定为0FF80H 复位后,此表的起始地址可由用户指定 中断向量可重新被映象到程序存储器的任何一个128字页开始的地方(除保留区域外) 中断向量地址由PMST中的中断向量指针IPTR(9位)和中断向量号(0~31)左移两位后组成。 7.1.7 堆栈的使用 保存子程序、中断程序的返回地址(断点,自动) 保护和恢复用户指定的寄存器和数据(现场,编程) 程序调用时的参数传递 满递减堆栈 7.1.7 堆栈的使用 在用户指定的存储区开辟一块存储区作为堆栈存储器 堆栈的定义及初始化步骤: 声明具有适当长度的未初始化段 将堆栈指针指向栈底(高地址) 在链接命令文件(.cmd)中将堆栈段放入数据存储区 K_STACK_SIZE .set 100 STACK .usect “stack”, K_STACK_SIZE SYSTEM_STACK .set STACK+ K_STACK_SIZE STM # SYSTEM_STACK, SP .CMD SECTIONS Stack:DRAM PAGE1 P171,定时器/计数器编程举例(times.pjt) P171,定时器/计数器编程举例(times.pjt) PMST=1020H?IPTR=20H 中断向量表

文档评论(0)

我的文档 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档