版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、4.乘法累加/减指令DSP指令一览表附录6 TMS320C54X指令系统一览表(按指令功能排列)3.乘法指令句法表 达式说明字数周期MPY Smem, dstdst=T*SmemT寄存器值与操作数相乘11MPYR Smem, dstdst=rnd(T*Smem)T寄存器值与操作数相乘(带舍入11MPY Xmem, Ymem, dst dst=Xmem*Ymem , T=Xmem两个操作数相乘11MPY Smem,#lk,dstdst=Smem*#lk, T=Smem长立即数与操作数相乘22MPY #lk,dstdst=T*#lk长立即数与T寄存器值相乘22MPYA dstdst=T*A(32-
2、16)T寄存值与累加器 A高位相乘11MPYA SmemB=Smem*A(32-16) , T=Smem操作数与累加器A高位相乘11MPYU Smem, dstdst=un s(T)* un s(Smem)无符号数乘法11SQUR Smem,dstdst=Smem*Smem, T=Smem操作数的平方11SQUR A,dstdst=A(32 16)*A(32 16)累加器A的高位平方11一、算术运算指令1.加法指令句法表达式说明字数周期ADD Smem, srcsrc=src+Smem操作数加至累加器11ADD Smem, TS,srcsrc=src+Smem<<TS操作数移位后加
3、至累加器11ADD Smem, 16, src,dstdst=src+Smem<<16操作数左移16位加至累加器11ADD Smem, SHIFT, src, dstdst=src+Smem<<SHIFT操作数移位后加到累加器22ADD Xmem, SHFT, srcsrc=src+Xmem<<SHFT操作数移位后加到累加器11 1ADD Xmem, Ymem, dstdst=Xmem<<16+Ymem<<16两个操作数分别左移 16位后加到累加器;11ADD #lk,SHFT,src,dstdst=src+#lk<<SH
4、FT长立即数移位后加到累加器22ADD #lk,16,src,dstdst=src+#lk<<16长立即数左移16位后加到累加器22ADD src,SHIFT,dstdst=dst+src<<SHIFT累加器移位后相加11ADD src,ASM, dstdst=dst+src<<ASM累加器按ASM移位后相加11ADDC Smem, srcsrc=src+Smem+C操作数带进位加至累加器11ADDM #lk,SmemSmem=Smem+#lk长立即数加至存储器22ADDS Smem, srcsrc=src+u ns(Smem)符号位不扩展的加法112.减法
5、指令句法表达式说明字数周期SUB Smem, srcsrc=src Smem从累加器中减去操作数11SUB Smem, TS, srcsrc=src Smem<<TS从累加器中减去移位后的操作数11SUB Smem, 16, src, dstdst=src Smem<<16从累加器中减去左移 16位后的操作数11SUB Smem,SHIFT,src,dstdst=src Smem<<SHIFT操作数移位后与累加器相减22SUB Xmem,SHFT, srcsrc=srcXmem<<SHFT操作数移位后与累加器相减11SUB Xmem,Ymem,
6、dstdst=Xmem<<16 Ymem<<16两个操作数分别左移 16位后相减11SUB #lk,SHFT,src,dstdst=src #1k<<SHFT长立即数移位后与累加器相减22SUB #lk,16,src,dstdst=src #1k<<16长立即数左移16位后与累加器相减22SUB src,SHIFT,dstdst=dst src<<SHIFT源累加器移位后与目的累加器相减11SUB src,ASM,dstdst=dst src<<ASM源累加器按ASM移位后与目的累加器相减llSUBB Smem, srcs
7、rc=src Smem C从累加器中带借位减操作数11SUBC Smem, srcIf (src Smem<<15)>0 src=(srcSmem<<15)<<1+1 Elsesrc=src<<l有条件减法11SUBS Smem,srcsrc=src un s(Smem)符号位不扩展的减法11句法表达式说明字 数周 期MAC Smem, srcsrc=src+T*Smem操作数与T寄存器值相乘后加到累加器11MAC Xmem, Ymem , src, dstdst=src+Xmern*Ymem,T=Xmem两个操作数相乘后加到累加器11MA
8、C #lk, src, dstdst=src+T*#lk长立即数与T寄存器值相乘后加到累加器22MAC Smem, #lk, src, dstdst=src+Smem*#lk , T=Smem长立即数与操作数相乘后加到累加器22MACR Smem, srcdst=rnd(src+T*Smem)操作数与T寄存器值相乘后加到累加器(带 舍入)11MACR Xmem , Ymem , src , dstdst=rnd(src+Xmem*Ymem),T=Xmem两个操作数相乘后加到累加器(带舍入)11MACA Smem , BB=B+Smem*A(32 16),T=Smem操作数与累加器A高位相乘后加
9、到累加器 B11MACA T , src , dstdst=src+T*A(32 16)T寄存器值与累加器 A高位相乘11MACAR Smem , BB=rnd(B+Smem*A(32 16),T=SmemT寄存器值与累加器 A咼位相乘后加到累加B(带舍入)11MACAR T , src , dstdst=rnd(src+T*A(32 16)累加器A高位与T寄存器值相乘后与源、 累 加器相加(带舍入)11MACD Smem , pmad , srcsrc=src+Smem*pmad ,T=Smem , (Smem+1)=Smem操作数与程序存储器值相乘后累加并延迟23MACP Smem , p
10、mad , srcsrc=src+Smem*pmad , T=Smem操作数与程序存储器值相乘后加到累加器23MACSU Xmem , Ymem , srcsrc=src+ un s(Xmem)*Ymem,T=Xmem元符号数与有符号数相乘后加到累加器11MAS Smem , srcsrc=srcT*Smem从累加器中减去 T寄存器值与操作数的乘积11MASR Xmem , Ymem , src , dstdst=r nd(src Xmem*Ymem),T=Xmem从累加器中减去两操作数的乘积(带舍入)11MAS Xmem , Ymem , src , dstdst=srcXmem*Ymem,
11、T=Xmem从源累加器中减去两操作数的乘积11MASR Smem , srcsrc=r nd(src T*Smem)从累加器中减去 T寄存器值与操作数的乘积(带舍入)11MASA Smem , BB=B Smem*A(32 16),T=Smem从累加器B中减去操作数与累加器 A高位的 乘积11MASA T , src , dstdst=srcT*A(32 16)从源累加器中减去 T寄存器值与累加器 A高 位的乘积11MASAR T , src , dstdst=rnd(src T*A(32 16)从源累加器中减去 T寄存器值与累加器 A高 位的乘积(带舍入)11SQURA Smem , src
12、src=src+Smem*Smem , T=Smem操作数平方并累加11SQURS Smem , srcsrc=srcSmem*Smem , T=Smem从累加器中减去操作数的平方1135.双精度(32位操作数)指令句法表 达式说明字数周期DADD Lmem , src, dstIf C16=0 dst=Lmem+srcIf C16=1dst(39 16)=Lmem(31 16)+src(31 16) dst(150)=Lmem(15 0)+src(15 0)双精度/双16位数加到累加器11DADST Lmem, dstIf C16=0 dst=Lmem+(T<<16+T)If C
13、16=1dst(39 16)=Lmem(31 16)+T dst(150)=Lmem(15 0)T双精度/双16位数与T寄存器值相加/减11DRSUB Lmem, srcIf C16=0 src=Lmem srcIf C16=1src(39 16)=Lmem(31 16)src(31 16) src(150)=Lmem(15 0) src(15 0)双精度/双16位数中减去累加器值11DSADT Lmem, dstIf C16=0 dst=Lmem (T<<16+T)If C16=1dst(39 16)=Lmem(31 16)T dst(150)=Lmem(15 0)+T长操作数与
14、T寄存器值相加/减11DSUB Lmem, srcIf C16=0 src=src LmemIf C16=1src(39 16)=src(31 16) Lmem(31 16) src(150)=src(15 0) Lmem(15 0)从累加器中减去双精度/双 16位数11DSUBT Lmem, dstIf C16=0 dst=Lmem (T<<16+T)If C16=1dst(39 16)=Lmem(31 16)T dst(150)=Lmem(15 0)T从长操作数中减去 T寄存器值116.专用指令句法表达 式说明字数周期ABDST Xmem, YmemB=B+|A(32 16)|
15、,A=(Xmem Ymem)<<16绝对距离11ABS src, dstdst=|src|累加器取绝对值11CMPL src, dstdst= s r c累加器取反11DELAY Smem(Smem+1)=Smem存储器单兀延迟11EXP srcT=nu mber of sig n bits(src) 8求累加器的指数11FIRS Xmem, Ymem, pmadB=B+A*pmad , A=(Xmem+Ymem)<<16对称FIR滤波23LMS Xmem, YmemB=B+Xmem*Ymem , A=(A+Xmem<<16)+215求最小均方值11MAX
16、dstdst=max(A, B)求累加器(A , B)最大值11MIN dstdst=min(A, B)求累加器(A , B)最小值11NEG src, dstdst=-src累加器变负11NORM src, dstdst=src<<TS, dst =norm(src, TS)归一化11POLY SmemB=Smem<<16,A=rnd(A*T+B)求多项式的值11RND src, dstdst=src+215累加器舍入运算11SAT srcsaturate(src)累加器饱和运算11SQDST Xmem, YmemB=B+A(32 16)*A(32 16),A=(Xm
17、em Ymem)<<16求距离的平方11#二、逻辑运算指令1. 与逻辑运算指令句法表 达式说明字数周期AND Smem, srcsrc=src&Smem操作数和累加器相与11AND #lk , SHFT , src, dstdst=src&#lk<<SHFT长立即数移位后和累加器相与22AND #lk, 16, src, dstdst=src&#lk<<16长立即数左移16位后和累加器相与L22AND src, SHIFT , dstdst=dst&src<<SHIFT源累加器移位后和目的累加器相与匚11ANDM
18、#lk, SmemSmem=Sme m&#lk操作数和长立即数相与222. 或逻辑运算指令句法表达式说明字数周期OR Smemsrc=src|Smem操作数和累加器相或l1OR #lk,SHFT,src,dst dst=src|#lk<<SHFT长立即数移位后和累加器相或22OR #lk,16,src,dstdst=src|#lk<<16长立即数左移16位后和累加器相或22OR src,SHIFT,dstdst=dst|src<<SHIFT源累加器移位后和目的累加器相或11ORM #lk, SmemSmem=Smem|#lk操作数和长立即数相或223
19、. 异或逻辑运算指令句法表达式说明字数周期XOR Smem, srcsrc=srcA Smem操作数和累加器相异或11XOR #lk , , SHFT , src , dst dst=srcA #lk<<SHFT长立即数移位后和累加器相异或22XOR #lk, 16 , src , dstdst=srcA #lk<<16长立即数左移16位后和累加器相异或22XOR src , SHIFT , dstdst=dstA src<<SHIFT源累加器移位后和目的累加器相异或11XORM #lk, SmemSmem=Smem A #lk操作数和长立即数相异或224.
20、 移位指令句法表 达式说明字数周期ROL srcRotate left with carry in累加器经进位位循环左移11ROLTC srcRotate left with TC in累加器经TC位循环左移11ROR srcRotate right with carry in累加器经进位位循环右移11SFTA src , SHIFT , dstdst=src<<SHIFTarithmetic shift累加器算术移位11SFTC srcif src(31)=src(30)the n src=src<<1累加器条件移位11SFTL src , SHIFT , dstds
21、t=src<<SHIFTlogical shift累加器逻辑移位115. 测试指令句法表 达式说明字数周期BIT Xmem , BITCTC=Xmem(15 BITC)测试指定位1lBITF Smem , #lkTC=(Sme m&#lk)测试由立即数规定的位域22BITT SmemTC=Smem(15 T(3 O)测试由T寄存器指定的位11CMPM Smem , #lkTC=(Smem=#lk)存储单兀与长立即数比较22CMPR CC , ARxCompare ARx with AR0辅助寄存器 ARx与ARO比较11三、程序控制指令1.分支转换指令句法表达 式说明字数周
22、期BD pmadPC=pmad(15 0)无条件分支转移24/2 探BACCD srcPC=src(150)按累加器规定的地址转移16/4 探BANZD pmad,Si ndif(Sind工 0) then=pChad(15 0)辅助寄存器不为0就转移24?/2 §2 探BCD pmad, cond, cond, condf(con d(s) then PC=pmad(15 0)条件分支转移25?/3 /|3 探FBD extpmadPC=pmad(15 0), XPC=pmad(22 16)无条件远程分支转移24/2 探FBACCD srcPC=src(150), XPC=src(
23、22 16)按累加器规定的地址远程 分支转移16/|4 探2.调用指令句法表 达 式说明字数周期CALAD src-SP=PC, PC=src(15-0)按累加器规定的地址调用 子程序16/4 探CALLD pmad-SP=PC, PC=pmad(15-0)无条件调用子程序24/2 §CCD pmad, cond, cond, condf(cond(s)then-SP=PC ,PC=pmad(15-0)有条件调用子程序25?/3 §3 探FCALAD src-SP=PC, -SP=XPC ,PC=src(15-0) , XPC=src(22-16)按累加器规定的地址远程调用
24、子程序16/4 探FCALLD extpmad-SP=PC, -SP=XPC ,PC=pmad(15-0),XPC=pmad(22-16)无条件远程调用子程序242 探注:?条件 真”,涤件 假”,延迟指令。3.中断指令句法表达 式说明字数周期NTR K -SP=PC , PC=IPTR(15 7)+K<<2 , INTM=1不可屏蔽的软件中断,关闭其他可屏蔽中断13TRAP K-SP=PC, PC=IPTR(15 7)+K<<2不可屏蔽的软件中断,不影响INTM位134.返回指令句法表 达式说明字数周期FRETDXPC=SP+, PC=SP+远程返回16/4 探FRE
25、TEDXPC=SP+, PC=SP+, INTM=O开中断,从远程中断返回16/4 探RCD cond, cond, condf(con d(s) then PC=SP+条件返回15?3 §3 探RETDPC=SP+返回15/3 探RETEDPC=SP+, INTM=O开中断,从中断返回15/3 探RETFDPC=RTN, SP+, INTM=O开中断,从中断快速返回13/1 探注:?条件 真”,涤件 假”,延迟指令。5.重复指令句法表 达式说明字数周期RPT SmemRepeat single, RC=Smem重复执行下条指令(Smem)+1次11RPT #KRepeat sing
26、le, RC=#K重复执行下条指令 k十1次11RPT #lkRepeat single, RC=#lk重复执行下条指令#lk+1次22RPTBD pmadRepeat block, RSA=PC+24# , REA=pmad 1块重复指令24/2 探RPTZ dst, #lkRepeat single, RC=#lk , dst=O重复执行下条指令,累加器清022注:?条件 真”,涤件 假”,延迟指令。76.堆栈管理指令句法表达 式说明字数周期FRAME KSP=SP+K, -128 w kw 1堆栈指针偏移一个立即数值11POPD SmemSmem=SP+将数据从栈顶弹出至数据存储器11
27、1POPM MMRMMR=SP+将数据从栈顶弹出至 MMR11PSHD Smem-SP=Smem将数据压人堆栈11 1PSHM MMR-SP=MMR将MMR压人堆栈l17.其他程序控制指令句法表达式说明字数周期IDLE Kdle(K) , 1 w k W3保持空转状态,直到中断 发生14MAR SmemIf CMPT=0 , then modify ARx ,ARP is un cha ngedIf CMPT=1 and ARx 丰 ARQ then modify ARx , ARP=xIf CMPT=1 and ARx=ARQ , then modify AR(ARP), ARP is un
28、 cha nged修改辅助寄存器11NOPno operati on空操作11RESETsoftware reset软件复位13RSBX N, SBITSTN(SBIT)=0状态寄存器位复位I11SSBX N , SBITSTN(SBIT)=1状态寄存器位置位11XC n, cond, cond, con d lf(con d(s)the n execute the next n in struct ions ; n=1or2有条件执行11注:?条件 真”,涤件 假”,延迟指令。四、加载和存储指令1.加载指令句法表 达 式说明字数周期DLD Lmem , dstdst=Lmem双精度/双16位
29、长字加载累加器11LD Smem, dstdst=Smem将操作数加载到累加器11LD Smem, TS, dstdst=Smem<<TS操作数按TREG(5Q)移位后加载到累加器11LD Smem, 16, dstdst=Smem<<16操作数左移16位后加载累加器11LD Smem, SHIFT , dstdst=Smem<<SHIFT操作数移位后加载累加器一D2LD Xmem , SHFT , dstdst=Xmem<<SHFT操作数移位后加载累加器11LD #K, dstdst=#K短立即数加载累加器11LD #lk , SHFT , d
30、stdst=#lk<<SHFT长立即数移位后加载累加器22LD #lk , 16 , dstdst=#lk<<16长立即数左移16位后加载累加器22LD src , ASM , dstdst=src<<ASM源累加器按 ASM移位后加载目的累加器11LD src , SHIFT , dstdst=src<<SHIFT源累加器移位后加载目的累加器11LD Smem , TT=Smem操作数加载T寄存器11LD Smem , DPDP=Smem(8 Q)9位操作数加载DP13LD #k9 , DPDP=#k99位立即数加载ARP11LD #k5 ,
31、ASMASM=#k55位立即数加载ASM11 1LD #k3 , ARPARP=#k33位立即数加载ARP11LD Smem , ASMASM=Smem(4 O)5位操作数加载ASMb1LDM MMR , dstdst=MMR将MMR加载到累加器11LDR Smem , dstdst(31 16)=rnd(Smem)操作数舍入加载累加器高位11LDU Smem , dstdst=un s(Smem)无符号操作数加载累加器11LTD SmemT=Smem , (Smem+1)=Smem操作数加载T寄存器并延迟 J11#2.存储指令句法表 达式说明字数周期DST src, LmemLmem=src
32、累加器值存到长字单兀中12ST T, SmemSmem=T存储T寄存器值11ST TRN, SmemSmem=TRN存储TRN寄存器值11ST #lk, SmemSmem=#lk存储长立即数22STH src, SmemSmem=src(31 16)存储累加器高位11STH src, ASM , SmemSmem=src(31 16)<<(ASM)累加器高位按ASM移位后存储11STH src, SHFT, XmemXmem=src(31 16)<<(SHFT)累加器高位移位后存储11STH src, SHIFT , SmemSmem=src(31 16)<<
33、;(SHIFT)累加器高位移位后存储22STL src, SmemSmem=src(15 0)存储累加器低位11STL src, ASM , SmemSmem=src(15 0)<<ASM累加器低位按ASM移位后存储11STL src, SHFT, XmemXmem=src(15 0)<<SHFT累加器低位移位后存储11STL src, SHIFT , SmemSmem=src(15 0)<<SHIFT累加器低位移位后存储22STLM src, MMRMMR=src(15 0)累加器低位存到 MMR11STM #lk, MMRMMR=#lk长立即数存到MMR
34、223.条件存储指令句法表达式说明字数周期CMPS src, SmemIf src(31 16)>src(15 0) then Smem=src(31 16)If src(31 16) w src(15 0 then Smem=src(15 0)比较选择并存储最大值11SACCD src, Xmem , condlf(cond) Xmem=src<<(ASM 16)有条件存储累加器值11SRCCD Xmem , co ndlf(con d) Xmem=BRC有条件存储块重复计数器11STRCD Xmem , co ndlf(cond) Xmem=T有条件存储T寄存器值114.
35、并行加载和存储指令句法表 达式说明字数周期ST src, YmemYmem=src<<(ASM 16)存储累加器并行加载累加器11|LD Xmem, dst|dst=Xmem<<16ST src, YmemYmem=src<<(ASM 16)存储累加器并行加载 T寄存器11|LD Xmem , T|T=Xmem5.并行加载和乘法指令句法表达式说明字数周期LD Xmem, dstdst=Xmem<<16加载累加器并行乘法累加运算11|MAC Ymem , dst|dst=dst+T*YmemLD Xmem, dstdst=Xmem<<16加载累加器并行乘法累加运算 (带舍入11|MACR Ymem , dst|dst=rnd(dst+T*Ymem)LD Xmem, dstdst=Xmem<<16加载累加器并行乘法减法运算11|MAS Ymem, dst|dst=dst T*YmemLD Xmem, dstdst=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年南医科大学第二附属医院招聘考试试卷真题
- 2025年福建福州地铁集团有限公司招聘考试试卷真题
- 海安市实验中学外迁工程施工图设计招标文件
- 2026年小学六年级英语第二学期期末考试卷及答案(八)
- 中间代码生成2
- 梅毒苄星青霉素规范治疗
- 财务报表分析与估值 课件 13估值
- 微创术中磁共振引导手术
- 译林版英语六年级下册Unit8检测卷
- (2026年)护理分级试卷及答案
- 2026年湖南省政工专业职称考试(中国近现代史)练习试题及答案
- 2026年云南交投集团曲靖管理处分公司收费员等岗位招聘(招募)(140人)考试备考试题及答案解析
- 2026年天津市公安医院医护人员招聘笔试备考试题及答案解析
- GB/T 47442.1-2026油气区二氧化碳地质利用与封存潜力评价方法第1部分:地质利用
- GB/T 43449-2023法庭科学毒物分析实验室质量控制规范
- 印刷服务投标方案(技术方案)
- 【地理】2023年高考真题江苏卷(解析版)
- 《上令封德彝举贤》中考文言文阅读试题2篇(含答案与翻译)
- GB/T 12459-2005钢制对焊无缝管件
- 偏光片气泡不良改善课件
- 红壤黄壤-棕壤课件
评论
0/150
提交评论