- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1.7 程序存储器地址生成方式 1.7 程序存储器地址生成方式 程序地址生成器(PAGEN) 程序地址生成器(PAGEN)共有5个寄存器: 程序计数器(PC) ; 重复计数器(RC); 块重复计数器(BRC); 块重复起始地址寄存器(RSA); 块重复结束地址寄存器(REA); 1.7.1程序计数器 程序计数器(PC)是一个16位计数器; PC中保存的某个内部或外部程序存储器的地址,就是即将取指的某条指令、即将访问的某个立即操作数或系数表在程序存储器中的地址。 加载地址到PC的几种途径 操 作 加载到PC的地址 复位 PC=FF80h 顺序执行指令 PC=PC+1 分支转移 16位立即数加载到PC 由累加器分支转移 用累加器A或B的低16位加载到PC 块重复循环 BRAF=1(块重复有效)当PC+1等于块重复循环 结束地址(REA+1)时将 块重复起始地址加载PC 子程序调用 将PC+2压入堆栈,并用指令后16位立即数加载PC, 返回将堆栈弹出到PC,回到原来程序处继续执行; 从累加器调用子程序 将PC+1压入堆栈,用累加器A或B的低16位加载 到PC;返回时将堆栈弹出到PC,回到原来程序 处继续执行; 硬件中断或软件中断 将PC压入堆栈,用适当的中断向量地址加载 PC;中断返回时将堆栈弹出到PC,继续执行被 中断了的程序. 1.7.2分支转移 无条件分支转移指令 条件分支转移指令 1.7.3调用与返回 无条件调用与返回的指令 条件调用与返回的指令 1.7.4 条件操作 C54x有一些指令只有当一个条件或多个条件得到满足列出的条件指令时才能执行。 请看表1-23中的各种条件(23条)以及相应的操作数符号。 例如: BC pmad,cond,[,cond[,cond]] 当这条指令的所有条件得到满足时,程序才能转移到pmad。 有时,条件指令中会出现多重条件,不是所有的条件都能构成多重条件的。 表1-23 条件指令中的各种条件 多重条件指令中的条件组合 第 一 组 A类 B类 EQ OV NEQ NOV LT LEQ GT GEQ 多重条件指令中的条件组合 第 二 组 A类 B类 C类 TC C BIO NTC NC NBIO 1.7.5 重复操作 一、重复执行单条指令 C54x有一个16位的重复计数器(RC)和两条能对其下条指令进行重复操作的指令RPT和RPTZ。 重复执行的次数等于(RC+1)。 二、程序块重复操作 ’C54x内部的块重复计数器(BRC)、块重复起始地址寄存器(RSA)、块重复结束地址寄存器 (REA)与程序块重复指令RPTB、由若干条指令构成的程序块进行重复操作。 举例 程 序 说 明 STM #99,BRC ; 99 → BRC RPTB NEXT-1 ;下一条指令至标NEXT * 前一条指令是需要重复 * 执行的程序块 * NEXT:…… ; 1.7.6 复位操作 复位(RS)是一个不可屏蔽的外部中断,它可以在任何时候使C54X进入一已知状态。复位后,处理器从FF80h处取指,并开始执行程序。(后附有复位期间处理器的状态) 注意:复位期间对其余的状态位以及堆栈指针(SP)没有初始化。因此,用户在程序中必须对它们适当地进行初始化。 复位期间处理器进行的操作 将IPTP置成1FFh; 将PMST中的MP/MC置成与引脚MP/MC相同的数值; 将PC置成FF80h; XPC寄存器清成零;(`C548) 不管MP/MC状态如何,将FF80h加到地址总线; 数据总线变成高阻状态; 控制线均处于无效状态; 产生IACK信号; INTM置成1,关闭所有的可屏蔽中断; 中断标志寄存器IFR清零; 产生同步复位信号(SRESET),对外围电路初始化 将下列状态位置成初始值: ARP=0 CLKOFF=0 HM=0 S
文档评论(0)