dsPIC DSC 指令寻址模式与数据存储
需积分: 7 30 浏览量
更新于2024-08-10
收藏 3.37MB PDF 举报
"指令寻址模式-chroma language_manual"
在dsPIC DSC(数字信号控制器)内核中,有两个独立的地址发生器单元,即X AGU和Y AGU。X AGU和Y AGU分别支持不同的寻址任务,其中Y AGU主要负责DSP MAC类指令的字长度数据读取。dsPIC的地址发生器单元支持三种数据寻址类型:
1. **线性寻址**:这种寻址模式允许按照连续的地址顺序访问数据或程序空间。
2. **模(循环)寻址**:在这种模式下,地址会在达到最大值后重新开始,形成一种循环访问的方式,特别适合处理数组或循环操作。
3. **位反转寻址**:这种模式主要用于数据空间,它会将数据地址的位进行反转,可用于特定的算法或数据处理。
**指令寻址模式**:
指令的寻址模式直接影响其功能的实现。表4-1列出了基本的寻址模式,这些模式根据指令的不同功能进行了优化。例如,MAC类指令的寻址模式与其它指令类型有所不同。
**4.1.1 文件寄存器指令**:
这类指令使用13位的地址字段(f)直接访问数据存储器的前8192字节(近数据空间)。通常,工作寄存器W0(在这些指令中表示为WREG)被用作源或目标寄存器。大部分文件寄存器指令的目标寄存器是同一个文件寄存器或WREG,除了MUL指令。MOV指令提供更大的灵活性,可以访问整个数据空间。
**4.1.2 MCU指令**:
MCU指令是三操作数形式,其中操作数1始终是工作寄存器(Wb,使用寄存器直接寻址),操作数2可以是W寄存器、内存中的数据或者5位立即数。结果可以存储在W寄存器或地址单元中。MCU指令支持以下寻址模式:
1. **寄存器直接寻址**:直接访问寄存器的内容。
2. **寄存器间接寻址**:Wn的内容形成有效地址(EA)。
3. **执行后修改的寄存器间接寻址**:先访问Wn的内容形成EA,然后对Wn进行增量或减量操作。
4. **执行前修改的寄存器间接寻址**:先对Wn进行增量或减量操作,然后使用更新后的Wn内容形成EA。
5. **5位或10位立即数寻址**:Wn与立即数相加形成EA。
注意,并非所有指令都支持上述所有寻址模式,每条指令可能只支持其中的部分模式。详细信息可查阅《dsPIC30F系列参考手册》和《16位MCU和DSC程序员参考手册》。
这个数据手册适用于dsPIC30F系列器件,但不是详尽无遗的参考资料。使用Microchip Technology Inc.的器件时,应当结合英文原版文档以获取最准确的信息。同时,Microchip对因使用这些信息产生的任何后果不承担责任。在涉及生命维持和/或生命安全的应用中,使用Microchip器件的风险由购买方承担。最后,所有的知识产权受法律保护,未经授权的许可转让是不允许的。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2020-01-19 上传
2021-10-02 上传
2019-10-24 上传
2019-12-09 上传
2021-05-12 上传
2021-06-23 上传
2023-05-11 上传
Davider_Wu
- 粉丝: 45
- 资源: 3889
最新资源
- WordPress作为新闻管理面板的实现指南
- NPC_Generator:使用Ruby打造的游戏角色生成器
- MATLAB实现变邻域搜索算法源码解析
- 探索C++并行编程:使用INTEL TBB的项目实践
- 玫枫跟打器:网页版五笔打字工具,提升macOS打字效率
- 萨尔塔·阿萨尔·希塔斯:SATINDER项目解析
- 掌握变邻域搜索算法:MATLAB代码实践
- saaraansh: 简化法律文档,打破语言障碍的智能应用
- 探索牛角交友盲盒系统:PHP开源交友平台的新选择
- 探索Nullfactory-SSRSExtensions: 强化SQL Server报告服务
- Lotide:一套JavaScript实用工具库的深度解析
- 利用Aurelia 2脚手架搭建新项目的快速指南
- 变邻域搜索算法Matlab实现教程
- 实战指南:构建高效ES+Redis+MySQL架构解决方案
- GitHub Pages入门模板快速启动指南
- NeonClock遗产版:包名更迭与应用更新