- 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:采用短立即寻址的RPT指令
…
RPT #99 ;将紧跟后面的NOP指令执行100次
NOP
…
例2:采用长立即寻址的ADD指令
ADD #16384, 2
直接寻址方式
在直接寻址方式中,数据存储器地址以128字为单位分块,称之为数据页。64K数据空间共分为512页,标号从0~511。
当前数据页由状态寄存器ST0中的9位数据页指针DP的值决定。
数据存储器的分页
指令寄存器(IR)的内容
指令地址的合成方式
注意:DSP复位时DP的值是随机的,使用前必需对DP进行赋值。
LDP #06
问题:1、怎样由绝对地址计算DP值?
2、怎样由DP值计算绝对地址?
间接寻址方式
8个辅助寄存器(AR0~AR7)为DSP提供了强大而灵活的寻址能力,提供间接寻址的16位地址,可以访问64K数据存储空间的任意单元。
间接寻址共有四种寻址选项:不增不减,增一减一,增加或减去索引量,增加或减去索引量且反向进位。
反转进位方式见SPRU430U (P144页)
辅助寄存器的更换:某些指令可以指明下一个工作辅助寄存器AR。
例: MAR *, AR1 ;设定AR1为当前辅助寄存器
LACL *+, AR2 ;设定AR1为下条指令的辅助寄存
SACL *+
例:
修改辅助寄存器指针与内容的四条指令
MAR *, AR1
LAR
ADRK #k AR+k → AR
SBRK #k AR-k → AR
指令系统与指令集
见TI用户手册SPRU160C 《CPU and INSTRUCTIONS》
P105
注意事项:
RPT指令执行期间DSP不能响应中断
程序编写方法
参见教材P74
常用汇编指令简介
定义段的伪指令
.asect
.bss
.sect
.text
.usect
初始化常数的伪指令
.bes
.byte
.field
.float
.int
.long
.string
调准段程序计数器的伪指令
.align
.even
引用其它文件的伪指令
.copy
.include
.def
.ref
.global
条件汇编伪指令
.if:/elseif:/.else:/.endif:
汇编时符号伪指令
.asg
.set
.equ
.eval
其它伪指令
.end
.label
.version
3种基本文件
XXX.ASM — 用汇编语言编写的程序主题
XXX.H — 头文件,定义DSP的专用寄存器地址,用户常量和用户自定义
寄存器地址
XXX.CMD — 命令文件,实现对DSP程序存储器、数据存储器的空间分配。
调试环境介绍
CC2000
程序编写实例
DSP应用系统设计讲义
12
华中科技大学光电子系 吴裕斌
文档评论(0)