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

第讲TMSCx的硬件结构精要.ppt

  1. 1、本文档共125页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 3.中断指令 中断指令同样可以改变程序指针PC的值,使程序从一个地址跳转到另一个地址执行。但与调用指令一样,DSP在执行完中断服务程序后要返回发生中断的地方继续执行原来的程序。 中断指令INTR和TRAP允许用户应用软件执行任何中断服务程序, K为中断向量。指令执行时,PC值加1后压入栈顶,然后由K确定的中断向量赋值给PC,执行相应的中断服务程序。该指令不受INTM控制。 INTR和TRAP的区别:执行INTR时,中断标志寄存器IFR中的对应位被清0,INTM置1,关闭所有可屏蔽中断;而执行TRAP不影响INTM位,不会关闭可屏蔽中断。 语法 表达式 说明 字数 周期 INTR K – –SP, + + PC = TOS, PC = IPTR(15–7) + K 2, INTM = 1 不可屏蔽的软件中断, 关闭其他可屏蔽中断 1 3 TRAP K – –SP, + + PC = TOS, PC = IPTR(15–7) + K 2 不可屏蔽的软件中断,不影响INTM位 1 3 * 3.中断指令 [例] 中断指令示例 INTR 3 ;PC值加1后压入栈顶,由K确定的中断向量FF8C(IPTR(15–7) +3 2)赋值给PC,INTM = 1 指令执行前 指令执行后 PC 0025 PC FF8C INTM 0 INTM 1 IPTR 01FF IPTR 01FF SP 1000 SP 0FFF 数据存储器 0FFFh 9653 0FFFh 0026 * [例] 中断指令示例 TRAP 10h ;PC值加1后压入栈顶,由K确定的中断向量FFC0(IPTR(15–7) +10h 2)赋值给PC,不影响INTM 指令执行前 指令执行后 PC 0025 PC FFC0 INTM 0 INTM 0 IPTR 01FF IPTR 01FF SP 1000 SP 0FFF 数据存储器 0FFFh 9653 0FFFh 0025 4.中断指令 * 4.返回指令 返回指令用于在执行完被调用的程序段或中断服务程序后,返回到调用指令或发生中断的地方,使DSP能继续执行原来的程序。 语法 表达式 说明 字数 周期(非延迟/延迟) FRET[D] XPC = TOS, ++ SP, PC = TOS,++SP 远程返回 1 6/4 FRETE[D] XPC = TOS, ++ SP, PC = TOS,++SP, INTM = 0 开中断,从远程返回 1 6/4 RC[D] cond [ , cond [ , cond] ] if (cond(s)) then PC = TOS, ++SP 条件返回 1 5/3条件满足 3/3不满足 RET[D] PC = TOS, ++SP 返回 1 5/3 RETE[D] PC = TOS, ++SP, INTM = 0 开中断,从中断返回 1 5/3 RETF[D] PC = RTN, ++SP, INTM = 0 开中断,从中断快速返回 1 3/1 FRET[D]和FRETE[D]为远程无条件返回指令,两条指令均为将栈顶单元的低7位值赋值给XPC,将下一个单元的16位值赋值给PC,实现远程返回,然后堆栈指针加1。所不同的是,FRET[D]指令对ST1中的中断屏蔽位INTM无影响,而FRETE[D]指令自动将INTM清零。 RC[D]为近程条件返回指令,如果满足给定的条件,堆栈顶部的数据弹出到PC中,SP加1,实现返回,若不满足条件,指令仅执行PC加1。 RET[D]、RETE[D] 和RETF[D]为近程无条件返回指令。RET[D]指令将栈顶的16位数值弹出到PC 中,实现返回操作,然后SP加1。 RETE[D] 指令除了执行RET[D]指令的操作外,还会将INTM 位自动清零,打开中断。RETF[D]指令将RTN寄存器的16位数值弹出到PC 中,实现中断的快速返回操作,然后SP加1。RTN寄存器中保存着中断服务程序的返回地址,因此返回时PC值不是从堆栈得到,而是从RTN寄存器中得到,该指令也将INTM 位自动清零,允许产生中断。 * 4.返回指令 [例] 返回指令示例 FRET ; 将栈顶单元的低7位值赋值给XPC,SP+1; 将下一个单元的16位 值赋值给PC,实现远程返回,然后堆栈指针SP加1 . 指令执行前 指令执行后 PC 2112 PC 1000 XPC 01 XPC 05 SP 0300 SP 0302

文档评论(0)

宝贝计划 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档