算术运算指令_第1页
算术运算指令_第2页
算术运算指令_第3页
算术运算指令_第4页
算术运算指令_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

算术运算指令2026/7/919:50DSP原理及应用2算术运算指令(2)减法指令

’C54x的减法指令共有13条,可完成两个操作数的减法运算、移位后的减法运算、带借位的减法运算、条件减法运算和不带符号位扩展的减法运算。SUBSUBBSUBCSUBS

指令格式:操作码源操作数

[,移位数]

,目的操作数

SmemXmemYmem#lksrc

TS16SHIFTSHFTASM

srcdst

2026/7/919:50DSP原理及应用3(2)减法指令

SUB

SmemXmem#lksrcSUBSmem,srcSUBSmem,TS,srcSUBSmem,16,src[,dst]SUBSmem,[,SHIFT],src[,dst]

操作码

源操作数指令格式SUBXmem,SHIFT,srcSUBXmem,Ymem,dstSUB#lk[,SHFT],src[,dst]SUB#lk,16,src[,dst]SUBsrc,[,SHIFT][,dst]SUBsrc,ASM[,dst]2026/7/919:50DSP原理及应用4(2)减法指令

SUBB

操作码

源操作数目的操作数

指令格式Smem

SUBB

Smem,src

SUBC

Smem

SUBC

Smem,src

SUBS

Smem

ADDC

Smem,src

src

src

src

2026/7/919:50DSP原理及应用5减法指令功能序号指令功能说明1SUBSmem,srcsrc=src-Smem从累加器中减去操作数2SUBSmem,TS,srcsrc=src-Smem<<TS从累加器中减去移位后的操作数3SUBSmem

,16

,src[,dst]dst=src-Smem<<16累加器减去左移16位的操作数4SUBSmem,[,SHIFT],src[,dst]dst=src-Smem<<SHIFT操作数移位后与累加器相减5SUBXmem

,SHFT

,srcsrc=src-Xmem<<SHFT操作数移位后与累加器相减6SUBXmem

,Ymem

,dstdst=Xmem<<16-Ymem<<16两操作数分别左移16位后相减送至累加器7SUB#lk,[,SHFT],src[,dst]dst=src-#lk<<SHFT长立即数移位后与累加器相减8SUB#lk,16,src[,dst]dst=src-#lk<<16长立即数左移16位与累加器相减9SUBsrc,[,SHIFT][,dst]dst=dst-src<<SHIFT目标累加器减去移位后的源累加器10SUBsrc,ASM[,dst]dst=dst-src<<ASM源累加器按ASM移位与目标累加器相减11SUBBSmem,srcsrc=src-Smem-C累加器与操作数带借位减操作12SUBCSmem,srcIf(src-Smem<<15)>0,src=(src-Smem<<15)<<1+1Elsesrc=src<<1条件减法操作13SUBSSmem,srcsrc=src-uns(Smem)累加器与符号位不扩展的操作数减操作2026/7/919:50DSP原理及应用6(3)乘法指令

’C54x的指令系统提供了10条乘法运算指令,其运算结果都是32位的,存放在累加器A和B中。而参与运算的乘数可以是T寄存器、立即数、存储单元和累加器A或B的高16位。格式:操作码源操作数1

[,源操作数2]

,目的操作数

操作码:MPY、MPYR、MPYA、MPYU、SQUR

源操作数1:Smem、Xmem、#lk

源操作数2:Ymem、#lk

目的操作数:dst

2026/7/919:50DSP原理及应用7(3)乘法指令

MPY

SmemXmem#lkMPY

Smem,dstMPYSmem,#lk,dst

操作码

源操作数指令格式MPYXmem,Ymem,dstMPY#lk,dst

MPYA

MPYA

dstMPYA

Smem2026/7/919:50DSP原理及应用8(3)乘法指令

MPYR

操作码

源操作数目的操作数

指令格式Smem

MPYR

Smem,dst

MPYU

Smem

MPYU

Smem,dst

SQUR

Smem

SQUR

Smem,dst

dst

dst

dst

A

dst

SQUR

A,dst

2026/7/919:50DSP原理及应用9乘法指令功能序号指令功能说明1MPYSmem,dstdst=T*SmemT寄存器与操作数相乘2MPYRSmem,dstdst=rnd(T*Smem)T寄存器与操作数带舍入相乘3MPYXmem,Ymem,dst

dst=Xmem

*Ymem,T=Xmem两操作数相乘4MPYSmem,#lk,dstdst=Smem

*#lk,T=Smem长立即数与操作数相乘5MPY#lk,dstdst=T*#lk长立即数与T寄存器相乘6MPYAdstdst=T*A(32-16)T寄存器与累加器A高位相乘7MPYASmemB=Smem*A(32-16),T=Smem操作数与累加器A高位相乘8MPYUSmem,dstdst=uns(T)*uns(Smem)无符号数相乘9SQURSmem,dstdst=Smem

*Smem,T=Smem操作数的平方10SQURA,dstdst=A(32-16)*A(32-16)累加器A高位的平方2026/7/919:50DSP原理及应用10(4)乘法-累加和乘法-减法指令

这类指令共计22条,除了完成乘法运算外,还具有加法或减法运算。因此,在一些复杂的算法中,可以大大提高运算速度。

参与运算的乘数可以是T寄存器、立即数、存储单元和累加器A或B的高16位。

乘法运算结束后,再将乘积与目的操作数进行加法或减法运算。2026/7/919:50DSP原理及应用11(4)乘法-累加和乘法-减法指令

格式:操作码源操作数1

[,源操作数2]

,目的操作数

操作码:MAC、MACR、MACA、MACAR、

MACD、MACP、MACSU、MAS、MASR源操作数1:Smem、Xmem、#lk、T

源操作数2:Ymem、#lk、pmad

目的操作数:src、dst、B

2026/7/919:50DSP原理及应用12(4)乘法-累加和乘法-减法指令

MAC

SmemXmem#lkMAC

Smem,srcMACSmem,#lk,src[,dst]

操作码

源操作数指令格式MACXmem,Ymem,src[,dst]MAC#lk,src[,dst]

MACR

MACR

Smem,srcMACR

Xmem,Ymem,src[,dst]SmemXmem2026/7/919:50DSP原理及应用13(4)乘法-累加和乘法-减法指令

操作码

源操作数1源操作数2

指令格式

MACA

MACA

Smem[,B]MACA

T,src[,dst]SmemT

MACAR

MACAR

Smem[,B]MACAR

T,src[,dst]SmemT

MACD

MACDSmem,pmad,srcSmempmad

MACP

MACPSmem,pmad,srcSmempmad

MACSU

MACSUXmem,Ymem,srcXmemYmem2026/7/919:50DSP原理及应用14(4)乘法-累加和乘法-减法指令

操作码

源操作数指令格式

MAS

MAS

Smem,srcMAS

Xmem,Ymem,src[,dst]SmemXmem

MASR

MASR

Smem,srcMASR

Xmem,Ymem,src[,dst]SmemXmem2026/7/919:50DSP原理及应用15乘法-累加和乘法-减法指令功能序号指令功能说明1MAC

Smem,srcsrc=src+T*Smem操作数与T相乘加到累加器2MACXmem

,Ymem

,src[,dst]dst=src+Xmem

*Ymem,T=Xmem两操作数相乘加到累加器3MAC#lk,src[,dst]dst=src+T*#lk长立即数与T相乘加到累加器4MAC

Smem

,#lk,src[,dst]dst=src+Smem*#lk,T=Smem长立即数与操作数相乘加到累加器5MACRSmem,srcsrc=rnd(src+T*Smem)操作数与T相乘加到累加器(带舍入)6MACRXmem

,Ymem

,src[,dst]dst=rnd(src+Xmem

*Ymem),T=Xmem两操作数相乘加到累加器(带舍入)7MACASmem[,B]B=B+Smem*A(32-16),T=Smem操作数与累加器A高位相乘加到累加器B8MACAT,src[,dst

]dst=src+T*A(32-16)T与A的高位相乘加到累加器2026/7/919:50DSP原理及应用16乘法-累加和乘法-减法指令功能序号指令功能说明9MACARSmem[,B]B=rnd(B+Smem*A(32-16)),T=Smem操作数与累加器A高位相乘加到累加器B(带舍入)10MACART,src[,dst

]dst=rnd(src+T*A(32-16))T与A高位相乘加到累加器(带舍入)11MACDSmem

,Pmad

,srcsrc=src+Smem*Pmad,T=Smem,(Smem+1)=Smem操作数与程序存储器内容相乘后加到累加器并延迟12MACPSmem

,Pmad

,srcsrc=src+Smem*Pmad,T=Smem操作数与程序存储器内容相乘后加到累加器13MACSUXmem

,Ymem

,srcsrc=src+uns(Xmem)*Ymem,T=Xmem无符号操作数与有符号操作数相乘后加到累加器14MAS

Smem

,srcsrc=src-T*Smem累加器减去T与操作数的乘积15MASXmem

,Ymem

,src[,dst]dst=src-

Xmem

*Ymem,T=Xmem累加器减去两操作数的乘积2026/7/919:50DSP原理及应用17乘法-累加和乘法-减法指令功能序号指令功能说明16MASRXmem

,Ymem

,src[,dst]dst=rnd(src-Xmem

*Ymem),T=Xmem累加器减去两操作数的乘积(带舍入)17MASRSmem

,srcsrc=rnd(src-T*Smem)累加器减去T与操作数的乘积(带舍入)18MASASmem

[,B

]B=B-Smem*A(32-16),T=Smem累加器B减去操作数与累加器A高位的乘积19MASAT,src[,dst

]dst=src-T*A(32-16)累加器减去T与A高位的乘积20MASART,src[,dst

]dst=rnd(src-T*A(32-16))累加器减去T与A高位的乘积(带舍入)21SQURASmem,srcsrc=src+Smem*Smem,T=Smem操作数的平方与累加器相加22SQURSSmem,srcsrc=src-Smem*Smem,T=Smem操作数的平方与累加器相减2026/7/919:50DSP原理及应用18(5)双字算术运算指令

双字算术运算指令共计6条,完成双16位数的加碱运算。①

DADDLmem,src[,dst]功能:

若C16=0,则完成双精度加法

dst

=Lmem

+src

若C16=1,则双16位数加法

dst(39-16)=Lmem(31-16)+src(31-16)dst(15-0)=Lmem(15-0)+src(15-0)2026/7/919:50DSP原理及应用19(5)双字算术运算指令

DADSTLmem,dst功能:

若C16=0,则完成双精度加法

dst

=Lmem

+(T<<16+T)

若C16=1,则双16位数加/减法

dst(39-16)=Lmem(31-16)+Tdst(15-0)=Lmem(15-0)-T2026/7/919:50DSP原理及应用20(5)双字算术运算指令

DRSUBLmem,src功能:

若C16=0,则完成双精度减法

src

=Lmem

-src

若C16=1,则完成双16位数减法

src(39-16)=Lmem(31-16)-src(31-16)src(15-0)=Lmem(15-0)-src(15-0)2026/7/919:50DSP原理及应用21(5)双字算术运算指令

DSADTLmem,dst功能:功能:

若C16=0,则完成双精度减法

dst

=Lmem

-(T<<16+T)

若C16=1,则完成双16位数加/减法

dst(39-16)=Lmem(31-16)-Tdst(15-0)=Lmem(15-0)+T2026/7/919:50DSP原理及应用22(5)双字算术运算指令

DSUBLmem,src功能:

若C16=0,则双精度方式,累加器减去32位数

src

=src

-

Lmem;

若C16=1,则双16位方式,完成双16位数减法

src(39-16)=src(31-16)-

Lmem(31-16)src(15-0)=src(15-0)

-

Lmem(15-0)2026/7/919:50DSP原理及应用23(5)双字算术运算指令

DSUBTLmem,dst功能:功能:

若C16=0,则双精度操作数减去T值

dst

=Lmem

-(T<<16

+

T)

若C16=1,则双16位操作数减去T值

dst(39-16)=Lmem(31-16)-Tdst(15-0)=Lmem(15-0)-T2026/7/919:50DSP原理及应用24(6)特殊运算指令特殊运算指令共15条。

序号指令功能说明1ABDSTXmem,YmemB

=B

+|A(32-16)|,A=(Xmem-Ymem)

温馨提示

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

评论

0/150

提交评论