- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章 TMS320F28x系列DSP的寻址方式及指令系统 4.1 TMS320F28x系列DSP的寻址方式 4.1.1 寻址方式选择位AMODE 4.1.2 直接寻址方式 4.1.3 堆栈寻址方式 4.1.4 间接寻址方式 4.1.5 寄存器寻址方式 4.1.6 其他寻址方式 4.1.7 32位操作数的定位 4.2 TMS320F28x系列DSP指令系统概述 寻址方式是指CPU根据指令中给出的地址信息来寻找指令中操作数物理地址的方式,即获得操作数的方式。指令系统即各种指令的集合,或称指令集。本章简要介绍C28x系列(TMS320F2812属于C28x系列)DSP的寻址方式和指令系统。 4.1 TMS320F28x系列DSP的寻址方式 C28x系列DSP的CPU支持4种基本的寻址方式:直接寻址方式、堆栈寻址方式、间接寻址方式和寄存器寻址方式。另外,该系列DSP芯片还支持其他的寻址方式:数据/程序/IO空间立即寻址方式、程序空间间接寻址方式和字节寻址方式。 TMS320F2812支持除IO空间立即寻址方式外的其他寻址方式。 4.1.3 堆栈寻址方式 4.1.4 间接寻址方式 4.1.5 寄存器寻址方式 4.1.6 其他寻址方式 4.1.7 32位操作数的定位 习题与思考题 1. C28x系列DSP有哪些寻址方式?这几种寻址方式有什么不同? 2. 直接寻址方式中,数据存储单元的地址是如何形成的? 3. 举例说明loc16和loc32在指令中的含义。 4. C28x系列DSP 的指令集包含了哪些基本类型的操作? * TMS320C28x指令集采用7种存储器寻址方式: ▲ 直接寻址方式 ▲ 堆栈寻址方式 ▲ 间接寻址方式 ▲ 寄存器寻址方式 ▲ 数据/程序/IO空间立即寻址方式 ▲ 程序空间间接寻址 ▲ 字节寻址方式 TMS320F2812支持除IO空间立即寻址方式外的其他寻址方式。 F2812的大多数指令利用操作码中的8位字段来选择寻址方式和对寻址方式进行修改.在F2812指令系统中,这个8位字段用于以下寻址方式: (1)loc16。为16位数据访问选择直接/堆栈/间接/寄存器寻址方式。 (2)loc32。为32位数据访问选择直接/堆栈/间接/寄存器寻址方式。 以上7种寻址方式都与“loc16/loc32”组合起来使用。 由于F2812提供了多种寻址方式,因此用寻址方式选择位(AMODE)来选择8位字段(loc16/loc32)的解码。该位属于状态寄存器ST1。寻址方式可以大致归类如下: ▲ AMODE=0——该方式是复位后的默认方式,也是F2812的C/C++编译 器使用的方式。这种方式与C2xLP CPU的寻址方式不完全兼容。数据页指针 偏移量是6位(在C2xLP CPU中是7位),并且不支持所有的间接寻址方式。 ▲ AMODE=1——该方式包括的寻址方式完全与C2xLP 器件的寻址方式 兼容。数据页指针的偏移量是7位并支持所有C2xLP 支持的间接寻址方式。 4.1.1 寻址方式选择位AMODE 在F2812间接寻址方式中,使用哪个辅助寄存器指针在指令中并不被明确指出。而在C2xLP的间接寻址方式中,3位长度的辅助寄存器指针被用来选择当前使用哪个辅助寄存器以及下次操作将使用哪个辅助寄存器。 汇编器/编译器对AMODE位的追踪 编译器总是假定AMODE=0,所以它只使用对AMODE=0有效的寻址模式。而汇编器可以通过设置命令行选项实现默认AMODE=0或者AMODE=1。 √ – v28 ;假定AMODE=0(C28x寻址方式) – v28 – m20 ;假定AMODE=1(与C2xLP全兼容的寻址方式) √ 在文件中使用内嵌伪指令 . c28_amode ;告诉汇编器后面的代码段都假定AMODE=0(C28x寻址方式) . lp_amode ;告诉汇编器后面的代码段都假定AMODE=1(与C2xLP全兼容的 寻址方式) 该寻址方式,16位的DP寄存器被当作一个固定的页指针,在指令中提供6位或者7位的偏移量,将这些偏移量与DP寄存器中的值相连接构成完整的地址.当访问固定寻址的数据结构(比如外围寄存器和C/C++中的全局或静态变量) 时是一种很有效的方法。 4.1.2 直接寻址方式 SP(堆栈指针):在该方式下,16位的SP指针被用于访问软件堆
文档评论(0)