dsPIC DSC 指令寻址模式与数据存储

需积分: 7 37 下载量 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器件的风险由购买方承担。最后,所有的知识产权受法律保护,未经授权的许可转让是不允许的。