汇编语言指令_第1页
汇编语言指令_第2页
汇编语言指令_第3页
汇编语言指令_第4页
汇编语言指令_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2020/5/19,1,第四章DSP汇编语言基础,2、C54x汇编语言指令系统类型:助记符:例:ADDsrc,Smem;代数表达式:例:src=src+Smem;,2020/5/19,2,指令集符号和简写符号意义A累加器A;ALU算术逻辑运算单元;AR辅助寄存器,通用惯例;ARx指定具体的辅助寄存器(0-7);ARPST0中的辅助寄存器指针;这3位指出了当前使用的辅助寄存器(ARx);ASMST1(16ASM15)中的5位移位字段;B累加器B;BRAFST1中的块重复激活标志;BRC块重复计数器;BITC指定数据存储器中的测试位,4位数字表示(0BITC15);C16ST1中的算术精度模式位双16位/双精度;,2020/5/19,3,第四章DSP汇编语言基础,CST0中的进位标志位;CC2位条件代码(0CC3);CMPTST1中的比较模式位;CPLST1中的编译模式位;cond指令操作执行条件;D延时操作;DABD数据地址总线;DARDAB地址寄存器;dmad16位立即数存储器地址(0dmad65535);Dmem数据存储器操作数;DPST0中的9位数据存储器页指针(0DP511),2020/5/19,4,第四章DSP汇编语言基础,dst目的累加器(AorB);dst_对应目的累加器:Ifdst=A,thendst_=B;Ifdst=B,thendst_=A。EABE可执行地址总线;EAREAB地址寄存器;extpmad23位立即数程序存储器地址;FRCTST1中的小数模式位;hi(A)累加器A的高位(3116)HMST1中的保持模式;IFR中断屏蔽寄存器;,2020/5/19,5,第四章DSP汇编语言基础,INTMST1中的中断模式位;K低于9的短立即数;k33位表示的立即数(0k37);k55位表示的立即数(16k515);k99位表示的立即数(0k9511);lk16位长立即数;Lmem32位单周期数据存储器操作数,用长字寻址;mmr,MMR存储器映射寄存器;MMRx,MMRy存储器映射寄存器AR0AR7,SPnXC指令的字数,n=1or2;N指定RSBX,SSBX,XC修正的寄存器:N=0修正ST0N=1修正ST1,2020/5/19,6,第四章DSP汇编语言基础,OVAST0中累加器A的溢出标志;OVBST0中累加器B的溢出标志;OVdst目的累加器(AorB)的溢出标志;OVdst_对应目的累加器(AorB)的溢出标志;OVsrc源累加器(AorB)的溢出标志;OVMST1中的溢出模式位;PA16位端口立即数地址(0PA65535);PAR程序地址寄存器;PC程序计数器;pmad16位立即数程序存储器地址(0pmad65535);Pmem程序存储器操作数;PMST处理器模式状态寄存器;,2020/5/19,7,第四章DSP汇编语言基础,prog程序存储器操作数;R循环操作;RC重复计数器;REA块重复结束地址;rnd循环;RSA块重复开始地址寄存器;RTNRETFD指令中的快速返回寄存器;SBIT4位数指定在RSBX,SSBX,XC指令中修订的状态状态寄存器位数(0SBIT15);SHFT4位移位值(0SHFT15);SHIFT5位移位值(16SHIFT15);Sind间接寻址的单操作数据寄存器操作数;,2020/5/19,8,第四章DSP汇编语言基础,Smem16位单数据存储器操作数;SP堆栈指针;src源累加器(AorB);ST0,ST1状态寄存器0,状态寄存器1SXMSign-extensionmodebitinST1中符号扩展模式位;T暂存寄存器;TCST0中的测试/控制位;TOS堆栈栈顶;TRN转换寄存器;TST(16TS31)的50位指定的移位值;uns无符号;XFST1中的外部符号状态位;,2020/5/19,9,第四章DSP汇编语言基础,XPC程序扩展计数器;Xmem用于单操作或双操作存储器指令中的16位双数据存储操作数;Ymem用于双操作存储器指令中的16位双数据存储操作数;SP堆栈指针减1;+SP堆栈指针加1;+PC程序计数器加1。指令集共有指令129条,由寻址方式衍生至216条。第一类算数运算指令加法指令13条:ADDSmem,src;src=src+Smem,2020/5/19,10,第四章DSP汇编语言基础,不同移位寻址方式衍生:ADDSmem,TS,src;src=src+SmemTSADDSmem,16,src,dst;dst=src+Smem16ADDSmem,SHIFT,src,dst;dst=src+SmemSHIFTADDXmem,SHFT,src;src=src+XmemSHFTADDXmem,Ymem,dst;dst=Xmem16+Ymem16ADD#lk,SHFT,src,dst;dst=src+#lkSHFTADD#lk,16,src,dst;dst=src+#lk16ADDsrc,SHIFT,dst;dst=dst+srcSHIFTADDsrc,ASM,dst;dst=dst+srcASMADDCSmem,src;src=src+Smem+CADDM#lk,Smem;Smem=Smem+#lkADDSSmem,src;src=src+uns(Smem),2020/5/19,11,第四章DSP汇编语言基础,减法指令13条:SUBSmem,src;src=src-Smem不同移位寻址方式衍生:SUBSmem,TS,src;src=src-SmemTCSUBSmem,16,src,dst;dst=src-Smem16SUBSmem,SHIFT,src,dst;dst=src-SmemSHIFTSUBXmem,SHFT,src;src=src-XmemSHFTSUBXmem,Ymem,dst;dst=Xmem16-Ymem16SUB#lk,SHFT,src,dst;dst=src-#lkSHFT,2020/5/19,12,SUB#lk,16,src,dst;dst=src-#lk16SUBsrc,SHIFT,dst;dst=dst-srcSHIFTSUBsrc,ASM,dst;dst=dst-srcASMSUBBSmem,src;src=src-Smem-CSUBCSmem,src;if(src-Smem15)0;src=(src-Smem15)1+1;elsesrc=src1SUBSSmem,src;src=src-uns(Smem)乘法指令10条MPYSmem,dst;dst=TSmemMPYRSmem,dst;dst=rnd(TSmem)MPYXmem,Ymem,dst;dst=XmemYmem,T=Xmem,第四章DSP汇编语言基础,2020/5/19,13,第四章DSP汇编语言基础,MPYSmem,#lk,dst;dst=Smem#lk,T=SmemMPY#lk,dst;dst=T#lkMPYAdst;dst=TA(32-16)MPYASmem;B=SmemA(32-16),T=SmemMPYUSmem,dst;dst=uns(T)uns(Smem)SQURSmem,dst;dst=SmemSmem,T=SmemSQURA,dst;dst=A(32-16)A(32-16)多项式加减22条MACSmem,src;src=src+TSmemMACXmem,Ymem,src,dst;dst=src+XmemYmem,T=Smem,2020/5/19,14,第四章DSP汇编语言基础,MAC#lk,src,dst;dst=src+T#lkMACSmem,#lk,src,dst;dst=src+Smem#lk,T=SmemMACRSmem,src,dst;dst=rnd(scr+TSmem)MACRXmem,Ymem,src,dst;dst=(src+XmemYmem),T=XmemMACASmem,B;B=B+SmemA(32-16),T=SmemMACAT,src,dst;dst=src+TA(32-16)MACARSmem,B;B=rnd(B+SmemA(32-16),T=SmemMACART,src,dst;dst=rnd(src+TA(32-16)MACDSmem,pmad,src;src=src+Smempmad,;T=Smem,(Smem+1)=Smem,2020/5/19,15,第四章DSP汇编语言基础,MACPSmem,pmad,src;src=src+Smempmad,T=SmemMACSUXmem,Ymem,src;src=src+uns(Xmem)Ymem,;T=XmemMASSmem,src;src=src-TSmemMASRXmem,Ymem,src,dst;;dst=rnd(src-XmemYmem),T=XmemMASXmem,Ymem,src,dst;;dst=src-XmemYmem,T=XmemMASRSmem,src;src=rnd(src-TSmem)MASASmem,B;B=B-SmemA(32-16),T=SmemMASAT,src,dst;dst=src-TA(32-16)MASART,src,dst;dst=rnd(src-TA(32-16),2020/5/19,16,第四章DSP汇编语言基础,SQURASmem,src;src=src+SmemSmem,T=SmemSQURSSmem,src;src=src-SmemSmem,T=Smem双精度指令DADDLmem,src,dst;ifC16=0,dst=Lmem+src;ifC16=1,;dst(39-16)=dst(39-16)+src(31-16);dst(15-0)=dst(15-0)+src(15-0)DADSTLmem,src;ifC16=0,dst=Lmem+(T16+T);ifC16=1,;dst(39-16)=dst(39-16)+T;dst(15-0)=dst(15-0)+T,2020/5/19,17,第四章DSP汇编语言基础,DRSUBLmem,src;ifC16=0,src=Lmem-src;ifC16=1,;src(39-16)=Lmem(31-16)-src(31-16);src(15-0)=Lmem(15-0)-src(15-0)DSADTLmem,dst;ifC16=0,dst=Lmem-(T16+T);ifC16=1,;dst(39-16)=Lmem(31-16)-T;dst(15-0)=Lmem(15-0)+TDSUBLmem,src;ifC16=0,src=src-Lmem;ifC16=1,;src(39-16)=src(31-16)-Lmem(31-16);src(15-0)=src(15-0)-Lmem(15-0),2020/5/19,18,第四章DSP汇编语言基础,DSUBTLmem,dst;ifC16=0,dst=Lmem-(T16+T);ifC16=1,;dst(39-16)=Lmem(31-16)-T;dst(15-0)=Lmem(15-0)-T特定应用指令ABDSTXmem,Ymem;B=B+|A(32-16)|;A=(Xmem-Ymem)16ABSsrc,dst;dst=|src|CMPLsrc,dst;dst=srcDELAYSmem;(Smem+1)=SmemEXPsrc;T=(src)的符号位数-8,2020/5/19,19,第四章DSP汇编语言基础,FIRSXmem,Ymem,pmad;B=B+Apmad;A=(Xmem+Ymem)16LMSXmem,Ymem;B=B+XmemYmem;A=(A+Xmem16)+215MAXdst;dst=maxA,BMINdst;dst=minA,BNEGsrc,dst;dst=-srcNORMsrc,dst;dst=srcTS,dst=norm(src,TS)POLYSmem;B=Smem16RNDsrc,dst;dst=src+215SATsrc;饱和(src)SQDSTXmem,Ymem;B=B+A(32-16)A(32-16);A=(Xmem+Ymem)16,2020/5/19,20,第四章DSP汇编语言基础,第2类逻辑操作指令AND逻辑“与”5条ANDSmem,src;src=srcdst=src|#lk16,2020/5/19,21,第四章DSP汇编语言基础,ORsrc,SHIFT,dst;dst=dst|srcSHIFTORM#lk,Smem;Smem=Smem|#lkXOR逻辑“异或”5条XORSmem,src;src=srcSmemXOR#lk,SHFT,src,dst;dst=src#lkSHFTXOR#lk,16,src,dst;dst=src#lk16XORsrc,SHIFT,dst;dst=dstsrcSHIFTXORM#lk,Smem;Smem=Smem#lk移位指令6条ROLsrc;带进位循环左移ROLTCsrc;带TC位循环左移RORsrc;带进位循环右移,2020/5/19,22,SFTAsrc,SHIFT,dst;dst=srcSHIFT算术移位SFTCsrc;ifsrc(31)=src(30)thensrc=src1SFTLsrc,SHIFT,dst;dst=srcSHIFT逻辑移位测试指令5条BITXmem,BITC;TC=Xmem(15BITC)BITFSmem,#lk;TC=(Smem比较ARx与AR0,第四章DSP汇编语言基础,2020/5/19,23,第三类程序控制指令分支转移指令6条:,第四章DSP汇编语言基础,BDpmad;PC=pmad(150)BACCDsrc;PC=src(150)BANZDpmad,Sind;if(Sind0),thenPC=pmad(150)BCDpmad,cond,cond,cond;if(cond(s),thenPC=pmad(150)FBDextpmad;PC=pmad(150),;XPC=pmad(2216)FBACCDsrc;PC=src(150),XPC=src(2216),2020/5/19,24,第四章DSP汇编语言基础,调用指令5条:CALADsrc;SP,PC+1=TOS,PC=src(150)CALLDpmad;SP,PC+2=TOS,;PC=pmad(150)CCDpmad,cond,cond,cond;if(cond(s)thenSP,;PC+2=TOS,PC=pmad(150)FCALADsrc;SP,PC+1=TOS,;PC=src(150),XPC=src(2216)FCALLDextpmad;SP,PC+2=TOS,;PC=pmad(150),XPC=pmad(2216),2020/5/19,25,中断指令2条:INTRK;SP,+PC=TOS,;PC=IPTR(157)+K2,;INTM=1TRAPK;SP,+PC=TOS,;PC=IPTR(157)+K2返回指令6条:FRETD;XPC=TOS,+SP,PC=TOS,;+SPFRETED;XPC=TOS,+SP,PC=TOS,;+SP,INTM=0,第四章DSP汇编语言基础,2020/5/19,26,RCDcond,cond,cond;if(cond(s)thenPC=TOS,+SPRETD;PC=TOS,+SPRETED;PC=TOS,+SP,INTM=0RETFD;PC=RTN,+SP,INTM=0重复指令5条:RPTSmem;单指令重复,RC=SmemRPT#K;单指令重复,RC=#KRPT#lk;单指令重复,RC=#lk,第四章DSP汇编语言基础,2020/5/19,27,第四章DSP汇编语言基础,RPTBDpmad;块重复,RSA=PC+2,;REA=pmad,BRAF=1RPTZdst,#lk;单指令重复,RC=#lk,dst=0堆栈指令5条:FRAMEK;SP=SP+KPOPDSmem;Smem=TOS,+SPPOPMMMR;MMR=TOS,+SPPSHDSmem;SP,Smem=TOSPSHMMMR;SP,MMR=TOS,2020/5/19,28,Miscellaneous程序控制指令:IDLEK;idle(K)MARSmem;IfCMPT=0,修正ARx;IfCMPT=1,且ARxAR0,修正ARx,ARP=x;IfCMPT=1,且ARx=AR0,修正AR(ARP)NOP;空操作RESET;软件复位RSBXN,SBIT;STN(SBIT)=0SSBXN,SBIT;STN(SBIT)=1XCn,cond,cond,cond;If(cond(s),执行后n条指令,n=1or2,第四章DSP汇编语言基础,2020/5/19,29,第四章DSP汇编语言基础,第四类数据传送指令装载指令21条DLDLmem,dst;dst=LmemLDSmem,dst;dst=SmemLDSmem,TS,dst;dst=SmemTSLDSmem,16,dst;dst=Smem16LDSmem,SHIFT,dst;dst=SmemSHIFTLDXmem,SHFT,dst;dst=XmemSHFTLD#K,dst;dst=#KLD#lk,SHFT,dst;dst=#lkSHFT,2020/5/19,30,第四章DSP汇编语言基础,LD#lk,16,dst;dst=#lk16LDsrc,ASM,dst;dst=srcASMLDsrc,SHIFT,dst;dst=srcSHIFTLDSmem,T;T=SmemLDSmem,DP;DP=Smem(80)LD#k9,DP;DP=#k9LD#k5,ASM;ASM=#k5LD#k3,ARP;ARP=#k3LDSmem,ASM;ASM=Smem(40)LDMMMR,dst;dst=MMR,2020/5/19,31,LDRSmem,dst;dst=rnd(Smem)LDUSmem,dst;dst=uns(Smem)LTDSmem;T=Smem,(Smem+1)=Smem存储指令14条:DSTsrc,Lmem;Lmem=srcSTT,Smem;Smem=TSTTRN,Smem;Smem=TRNST#lk,Smem;Smem=#lkSTHsrc,Smem;Smem=src16STHsrc,ASM,Smem;Smem=src(ASM16)STHsrc,SHFT,Xmem;Xmem=src(SHFT16),第四章DSP汇编语言基础,2020/5/19,32,STHsrc,SHIFT,Smem;Smem=srcsrc(150),;Smem=src(3116);Ifsrc(3116)=src(150),;Smem=src(150),第四章DSP汇编语言基础,2020/5/19,33,SACCDsrc,Xmem,cond;If(cond);Xmem=src(ASM16)SRCCDXmem,cond;If(cond)Xmem=BRCSTRCDXmem,cond;If(cond),Xmem=T并行装载和存储指令STsrc,Ymem|LDXmem,dst;Ymem=src(ASM16);|dst=Xmem16STsrc,Ymem|LDXmem,T;Ymem=src(ASM16);|T=Xmem,第四章DSP汇编语言基础,2020/5/19,34,并行装载和多项式指令4条LDXmem,dst|MACYmem,dst_;dst=Xmem16;|dst_=dst_+TYmemLDXmem,dst|MACRYmem,dst_;dst=Xmem16;|dst_=rnd(dst_+TYmem)LDXmem,dst|MASYmem,dst_;dst=Xmem16;|dst_=dst_TYmemLDXmem,dst|MASRYmem,dst_;dst=Xmem16;|dst_=rnd(dst_TYmem),第四章DSP汇编语言基础,2020/5/19,35,并行存储和加减指令2条:STsrc,Ymem|ADDXmem,dst;Ymem=src(ASM16);|dst=dst_+Xmem16STsrc,Ymem|SUBXmem,dst;Ymem=src(ASM16);|dst=(Xmem16)dst_并行存储和多项式6条STsrc,Ymem|MACXmem,dst;Ymem=src(ASM16)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论