MS320C54x寻址方式DSP原理与开发实例

MS320C54x寻址方式DSP原理与开发实例

ID:36603429

大小:4.83 MB

页数:55页

时间:2019-05-09

MS320C54x寻址方式DSP原理与开发实例_第1页
MS320C54x寻址方式DSP原理与开发实例_第2页
MS320C54x寻址方式DSP原理与开发实例_第3页
MS320C54x寻址方式DSP原理与开发实例_第4页
MS320C54x寻址方式DSP原理与开发实例_第5页
资源描述:

《MS320C54x寻址方式DSP原理与开发实例》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第五章TMS320C54x的寻址方式§5.1程序执行过程§5.2数据寻址§5.3程序寻址§5.4小结1【重点难点】★直接寻址★间接寻址★堆栈寻址★分支转移★调用与返回★复位和中断2程序执行过程§5.1程序执行过程1、指令周期开始。DSP首先从PC寄存器中获取指令地址,然后,将该地址输出到PAB总线。最后,获取相应指令。2、获取操作数。DSP根据指令要求从相应位置获取操作数。3、进行运算并保存。根据指令功能,将操作数送到相应的运算单元中,进行相关运算。然后,将运算结果送入指定的位置。4、调整PC的值。根据本条指令是否

2、需要PC跳转,更新PC寄存器的值,为程序下一条指令的执行做好准备。3数据寻址§5.2数据寻址★C54x芯片的寻址方式可以分为两类:数据寻址和程序寻址★C54x共有7种有效的数据寻址方式:▲立即寻址:指令中嵌有固定的数,主要用于初始化;▲绝对寻址:利用16位地址寻址存储单元;▲累加器寻址:把累加器的内容作为地址;▲直接寻址:利用数据存储器页指针和堆栈指针寻址;▲间接寻址:利用辅助寄存器作为地址指针;▲存储器映像寄存器寻址:修改映像寄存器中的值,不影响当前数据存储器页指针和堆栈指针的值;▲堆栈寻址:用来管理系统堆栈中的

3、操作4数据寻址◆立即寻址,指令中包含了立即操作数,操作数紧随操作码存放在程序存储器中。◆特点:运行速度较快,但需占用程序存储空间,并且数值不能改变。◆用途:用于表示常数或对寄存器初始化。◆两种立即数形式:3、5、8或9位短立即数16位长立即数。§5.2.1立即寻址53位立即数5位立即数8位立即数9位立即数16位立即数LDLDFRAMELDRPTLDADDADDMANDANDMBITFCMPMLDMACORORMRPTRPTZSTSTMSUBXORXORM支持立即数的指令注意:在立即寻址的指令中,应在数值或符号前面加

4、一个“#”,表示是一个立即数,以区别于地址。数据寻址6数据寻址图5-1带立即数的LD指令(b)双字LD指令(a)单字LD指令7数据寻址◆绝对寻址,指令中包含的是寻找操作数的16位单元地址,可以用其所在单元的地址标号或者16位符号常数来表示。◆特点:指令中包含一个固定的16位地址,能寻址所有数据存储空间,但运行速度慢,需要较大的存储空间。◆用途:用于对速度要求较低的场合。◆绝对寻址有四种类型:①数据存储器地址(dmad)寻址;②程序存储器地址(pmad)寻址;③端口(PA)寻址;④*(1k)寻址。§5.2.2绝对寻址

5、8数据寻址1、数据存储器地址(dmad)寻址◆用一个数或符号来确定数据空间的一个地址。◆主要指令有:MVDKSmem,dmadMVDMdmad,MMRMVKDdmad,SmemMVMDMMR,dmad例:MVKDEXAMPLE,*AR5数据存储器的16位地址dmad值1010h9数据寻址2、程序存储器地址(pmad)寻址◆用一个数或符号来确定程序存储器的一个地址。◆主要指令有:FIRSXmem,Ymem,pmadMACDSmem,pmad,srcMACPSmem,pmad,srcMVDPSmem,pmadMVPDp

6、mad,Smem例:MVPDEXAMPLE,*AR5程序存储器的16位地址pmad值10数据寻址3、端口地址(PA)寻址用一个数或符号来确定I/O存储空间中的一个地址,以实现对I/O设备的读写。主要指令有:PORTRPA,SmemPORTWSmem,PA例:PORTRFIFO,*AR5I/O端口地址PA11数据寻址4、*(lk)寻址用一个数或符号来确定数据存储器中的一个地址。允许所有使用单数据存储器寻址的指令去访问数据空间的任意单元,而不改变DP的值,也不用对AR进行初始化。注意:1)*(1k)寻址时,指令的长度扩

7、展1个字。2)*(1k)寻址的指令不能与循环指令(RPT,RPTZ)一起使用。例:LD*(EXAMPLE),A12数据寻址将累加器的内容作为地址去访问程序存储单元。例如:READASmem;将累加器A所指定的程序存储单元的内容传送到Smem指向的数据存储单元中。WRITASmem;将Smem指定的数据存储单元中的数据,写入A所指定的程序存储单元。用途:用于程序存储空间与数据存储空间之间的数据传输。注意:①对大多数C54x,用累加器的低16位作为程序存储器的地址,但是C548、C549、C5410和C5416有23根

8、地址线,C5402有20根地址线,C5420有18根地址线,这些芯片的程序存储器单元分别由累加器的低23位、低20位、低18位来确定。②上述两条指令重复使用时,累加器A自动增减;③只能使用累加器A寻址程序空间。④ 累加器A用来寻址程序空间。Smem用来寻址数据空间。§5.2.3累加器寻址13数据寻址利用数据页指针DP和堆栈指针SP寻址。CPL=0时:DP的9

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。