TMS320C54X DSP芯片的指令系统

TMS320C54X DSP芯片的指令系统

ID:44282665

大小:1.02 MB

页数:126页

时间:2019-10-20

TMS320C54X DSP芯片的指令系统_第1页
TMS320C54X DSP芯片的指令系统_第2页
TMS320C54X DSP芯片的指令系统_第3页
TMS320C54X DSP芯片的指令系统_第4页
TMS320C54X DSP芯片的指令系统_第5页
资源描述:

《TMS320C54X DSP芯片的指令系统》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第三章TMS320C54XDSP芯片的指令系统指令的表示方法寻址方式指令系统目录3.2指令的表示方法指令的两种表示法:助记符形式和代数表达式助记符形式:代数表达式:MPY*(volume),BB=T**(volume)ADD#1h,5,A,BB=A+#1h<<5语句格式:由操作码和操作数组成[标号][:]指令[操作数列表][;注释]编写程序一般规则(P138)所有语句必须以标号、空格、星号或分号开始;所有包含汇编伪指令的语句必须在一行完全指定;可以选择带有标号,若使用标号,则标号必须从第一列开始,但指令域一定不能从第1列开始;

2、程序中可以有注释:注释开始在第一列时,前面需标上星号或分号;但在其他列开始的注释前面只能标上分号。操作数域:立即数,寄存器,程序空间地址,数据空间地址或I/O地址。立即数:#为前缀,间接寻址:*为前缀。汇编语言源程序举例******************example.asm******************.title“example.asm”.mmregsSTACK.usect“STACK”,10H.bssa,4.bssx,4.bssy,1汇编语言源程序举例.defstart.datatable:.word1,2,3,

3、4.word8,6,4,2.textstart:STM#0,SWWSRSTM#STACK+10H,SPSTM#a,AR1RPT#7MVPDtable,*AR1+CALLSUMend:BendSUM:STM#a,AR3STM#x,AR4RPTZA,#3MAC*AR3+,*AR4+,ASTLA,@yRET.end3.2.1指令系统中的符号符号与缩写P82页:表3.2.1如:MVPDpmad,SmemMPYXmem,Ymem,dst程序存储器操作数(存储器地址):Pmad,extpmad,Pmem数据存储器操作数:dmad,Dmem

4、,Smem,Sind,Xmem,Ymem,Lmem(32位)累加器:Src,dst,dst_,A,B移位值:ASM,TS,SHFT,SHIFT立即数:K,k3,k5,k9,lk运算符及其优先级,表3.2.23.1寻址方式两种:数据寻址和程序寻址数据寻址(7种基本方式)立即数寻址绝对地址寻址累加器寻址直接寻址间接寻址存储器映射寄存器寻址堆栈寻址表3.1.1:程序寻址程序存储器:存放程序代码,系数表和立即数程序地址生成器(PAGEN)产生地址,再加载到PAB总线P47-48数据寻址(立即数寻址)立即数寻址(K,k3,k5,k9,l

5、k)短立即数:3,5,8,9位(单字指令中)长立即数:16位(双字指令中),立即数:#前缀LD#80h,ARPT#99;单字指令RPT#7DFFH;双字指令数据寻址(绝对地址寻址)指令中包含16位地址,寻址存储单元;至少为双字长指令,有四种类型:数据存储器地址(dmad)寻址操作数存放于数据存储单元,确定该单元地址主要指令:MVDKSmem,dmad;dmad=SmemMVDMdmad,MMRMVKDdmad,SmemMVMDMMR,dmad例:MVDM2000H,TRPT#19;数据块的复制MVMDAR2,SAMPLE;SA

6、MPLE为常数表示;的地址MVKD0200H,*AR2+程序存储器地址(pmad)寻址确定程序存储器中的一个地址主要指令:FIRSXmem,Ymem,pmadMACDSmem,pmad,srcMACPSmem,pmad,srcMVDPSmem,pmadMVPDpmad,Smem例:MVPDTABLE,*AR7-MACP*AR3-,COEFFS,A数据寻址(绝对地址寻址)端口地址(PA)寻址(符号或常数)确定外部I/O端口的地址主要指令:PORTRPA,SmemPORTWSmem,PA例:PORTRFIFO,*AR5PORTW*

7、AR1+,FIFO1*(lk)寻址用符号或常数指明数据存储器中的一个地址不能与循环指令(RPT,RPTZ)一起使用!例:STLA,*(y)STHA,*(y1)LD*(PN),A数据寻址举例(1)x.set2000hportr20h,*(x)stm#x,ar1ld#100,bmacp*ar1,100h,b累加器寻址对存放数据的程序存储器寻址将累加器的内容作为地址(16位或23位)去访问程序存储器单元仅两条指令:WRITA和READA循环执行,可实现数据块的传送。READASmem将累加器A所确定的程序存储器单元中的值传送到数据存

8、储单元。如:若A=0000000100h,AR1=0200h,执行下列指令:READA*AR1WRITASmem将Smem所确定的数据存储单元中的值传送到累加器A所确定的程序存储器单元。如:STM#0300H,AR2LD#18000H,AWRITA*AR2直接寻址由基地址(D

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

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

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