DSP编程指令集.docx
《DSP编程指令集.docx》由会员分享,可在线阅读,更多相关《DSP编程指令集.docx(41页珍藏版)》请在冰豆网上搜索。
DSP编程指令集
DSP编程指令全集2004.5完稿
ABS
AbsoluteValueofAccumulator
Ifthecontentsoftheaccumulatorarelessthanzero,replacethecontentswiththe2scomplementofthecontents.Ifthecontentsare.0,theaccumulatorisnotaffected.
ADCB
AddACCBtoAccumulatorWithCarry
AddthecontentsoftheACCBandthevalueofthecarrybittotheaccumulator.Iftheresultoftheadditiongeneratesacarryfromtheaccumulator’sMSB,thecarrybitissetto1.
ADDdma[,shift]
ADD{ind}[,shift[,nextARP]]
ADD#k
ADD#lk[,shift2]
AddtoAccumulatorWithShift
TMS320C1xandTMS320C2xdevices:
addthecontentsoftheaddresseddatamemorylocationtotheaccumulator;ifashiftisspecified,left-shiftthecontentsofthelocationbeforetheadd.Duringshifting,loworderbitsarezero-filled,andhigh-orderbitsaresign-extended.TMS320C2xxandTMS320C5xdevices:
addthecontentsoftheaddresseddatamemorylocationoranimmediatevaluetotheaccumulator;ifashiftisspecified,
left-shiftthedatabeforetheadd.Duringshifting,loworderbitsarezero-filled,andhigh-orderbitsaresign-extendedifSXM=1.
ADDB
AddACCBtoAccumulator
AddthecontentsoftheACCBtotheaccumulator.
ADDCdma
ADDC{ind}[,nextARP]
AddtoAccumulatorWithCarry
Addthecontentsoftheaddresseddatamemorylocationandthecarrybittotheaccumulator.
ADDHdma
ADDH{ind}[,nextARP]
AddHightoAccumulator
Addthecontentsoftheaddresseddatamemorylocationtothe16MSBsoftheaccumulator.TheLSBsarenotaffected.Iftheresultoftheadditiongeneratesacarry,thecarrybitissetto1.TMS320C2x,TMS320C2xx,andTMS320C5xdevices:
Iftheresultoftheadditiongeneratesacarryfromtheaccumulator’sMSB,thecarrybitissetto1.
ADDK#k
AddtoAccumulatorShortImmediate
TMS320C1xdevices:
Addan8-bitimmediatevaluetotheaccumulator.TMS320C2x,TMS320C2xx,andTMS320C5xdevices:
Addan8-bitimmediatevalue,right-justified,to
theaccumulatorwiththeresultreplacingtheaccumulatorcontents.Theimmediatevalueistreatedasan8-bitpositivenumber;signextensionissuppressed.
ADDSdma
ADDS{ind}[,nextARP]
AddtoAccumulatorWithSignExtensionSuppressed
Addthecontentsoftheaddresseddatamemorylocationtotheaccumulator.Thevalueistreatedasa16-bitunsignednumber;signextensionissuppressed.
ADDTdma
ADDT{ind}[,nextARP]
AddtoAccumulatorWithShiftSpecifiedbyTRegister
Left-shiftthecontentsoftheaddresseddatamemorylocationbythevalueinthe4LSBsoftheTregister;addtheresulttotheaccumulator.Ifashiftisspecified,leftshiftthedatabeforetheadd.Duringshifting,low-orderbitsarezero-filled,andhigh-orderbitsaresign-extendedifSXM=1.TMS320C2xxandTMS320C5xdevices:
Iftheresultof
theadditiongeneratesacarryfromtheaccumulator’sMSB,thecarrybitissetto1.
ADLK#lk[,shift]
AddtoAccumulatorLongImmediateWithShift
Adda16-bitimmediatevaluetotheaccumulator;ifashiftisspecified,left-shiftthevaluebeforetheadd.Duringshifting,low-orderbitsarezero-filled,andhighorderbitsaresign-extendedifSXM=1.
ADRK#k
AddtoAuxiliaryRegisterShortImmediate
Addan8-bitimmediatevaluetothecurrentauxiliaryregister.
ANDdma
AND{ind}[,nextARP]
AND#lk[,shift]
ANDWithAccumulator
TMS320C1xandTMS320C2xdevices:
ANDthecontentsoftheaddresseddatamemorylocationwiththe16LSBsoftheaccumulator.The16MSBsoftheaccumulatorareANDedwith0s.TMS320C2xxandTMS320C5xdevices:
ANDthecontentsoftheaddresseddatamemorylocationora16-bitimmediatevaluewiththecontentsoftheaccumulator.The16MSBsoftheaccumulatorareANDedwith0s.Ifashiftisspecified,left-shifttheconstantbeforetheAND.Low-orderbitsbelowandhigh-orderbitsabovetheshiftedvaluearetreatedas0s.
ANDB
ANDACCBtoAccumulator
ANDthecontentsoftheACCBtotheaccumulator.
ANDK#lk[,shift]
ANDImmediateWithAccumulatorWithShift
ANDa16-bitimmediatevaluewiththecontentsoftheaccumulator;ifashiftisspecified,left-shifttheconstantbeforetheAND.
APAC
AddPRegistertoAccumulator
AddthecontentsofthePregistertotheaccumulator.TMS320C2x,TMS320C2xx,andTMS320C5xdevices:
beforetheadd,left-shiftthecontentsofthePregisterasdefinedbythePMstatusbits.
APL[#lk],dma
APL[#lk,]{ind}[,nextARP]
ANDDataMemoryValueWithDBMRorLongConstant
ANDthedatamemoryvaluewiththecontentsoftheDBMRoralongconstant.Ifalongconstantisspecified,itisANDedwiththecontentsofthedatamemorylocation.Theresultiswrittenbackintothedatamemorylocationpreviouslyholdingthefirstoperand.Iftheresultis0,theTCbitissetto1;otherwise,theTCbitiscleared.
Bpma
Bpma[,{ind}[,nextARP]]
BranchUnconditionally
Branchtothespecifiedprogrammemoryaddress.TMS320C2xandTMS320C2xxdevices:
modifythecurrentARandARPasspecified.
B[D]pma[,{ind}[,nextARP]
BranchUnconditionallyWithOptionalDelay
ModifythecurrentauxiliaryregisterandARPasspecifiedandpasscontroltothedesignatedprogrammemoryaddress.Ifyouspecifyadelayedbranch(BD),thenexttwoinstructionwords(two1-wordinstructionsorone2-wordinstruction)arefetchedandexecutedbeforebranching.
BACC
BranchtoAddressSpecifiedbyAccumulator
Branchtothelocationspecifiedbythe16LSBsoftheaccumulator.
BACC[D]
BranchtoAddressSpecifiedbyAccumulatorWithOptionalDelay
Branchtothelocationspecifiedbythe16LSBsoftheaccumulator.Ifyouspecifyadelayedbranch(BACCD),thenexttwoinstructionwords(two1-wordinstructionsorone2-wordinstruction)arefetchedandexecutedbeforebranching.
BANZpma
BANZpma[,{ind}[,nextARP]]
BranchonAuxiliaryRegisterNotZero
Ifthecontentsofthe9LSBsofthecurrentauxiliaryregister(TMS320C1x)orthecontentsoftheentirecurrentauxiliaryregister(TMS320C2x)areπ0,branchtothespecifiedprogrammemoryaddress.TMS320C2xandTMS320C2xxdevices:
modifythecurrentARandARP(ifspecified)ordecrementthecurrentAR(default).TMS320C1xdevices:
decrementthecurrentAR.
BANZ[D]pma[,{ind}[,nextARP]]
BranchonAuxiliaryRegisterNotZeroWithOptionalDelay
Ifthecontentsofthecurrentauxiliaryregisterareπ0,branchtothespecifiedprogrammemoryaddress.ModifythecurrentARandARPasspecified,ordecrementthecurrentAR.Ifyouspecifyadelayedbranch(BANZD),thenexttwoinstructionwords(two1-wordinstructionsorone2-wordinstruction)arefetchedandexecutedbeforebranching.
BBNZpma[,{ind}[,nextARP]]
BranchonBitπZero
IftheTCbit=1,branchtothespecifiedprogrammemoryaddress.TMS320C2xdevices:
modifythecurrentARandARPasspecified.TMS320C2xxandTMS320C5xdevices:
ifthe–pporting
switchisused,modifythecurrentARandARPasspecified.
BBZpma[,{ind}[,nextARP]]
BBZpma
BranchonBit=Zero
IftheTCbit=0,branchtothespecifiedprogrammemoryaddress.TMS320C2xdevices:
modifythecurrentARandARPasspecified.TMS320C2xxandTMS320C5xdevices:
modifythe
currentARandARPasspecifiedwhenthe–pportingswitchisused.
BCpma[,{ind}[,nextARP]]
BCpma
BranchonCarry
IftheCbit=1,branchtothespecifiedprogrammemoryaddress.TMS320C2xdevices:
modifythecurrentARandARPasspecified.TMS320C2xxandTMS320C5xdevices:
modifythe
currentARandARPasspecifiedwhenthe–pportingswitchisused.
BCNDpma[cond1]
[,cond2][...]
BranchConditionally
Branchtotheprogrammemoryaddressifthespecifiedconditionsaremet.Notallcombinationsofconditionsaremeaningful.
BCND[D]pma[cond1]
[,cond2][...]
BranchConditionallyWithOptionalDelay
Branchtotheprogrammemoryaddressifthespecifiedconditionsaremet.Notallcombinationsofconditionsaremeaningful.Ifyouspecifyadelayedbranch(BCNDD),thenexttwoinstructionwords(two1-wordinstructionsorone2-wordinstruction)arefetchedandexecutedbeforebranching.
BGEZpma
BGEZpma[,{ind}[,nextARP]]
BranchifAccumulator.Zero
Ifthecontentsoftheaccumulator.0,branchtothespecifiedprogrammemoryaddress.
TMS320C2xdevices:
modifythecurrentARandARPasspecified.TMS320C2xxandTMS320C5xdevices:
modifythecurrentARandARPasspecifiedwhenthe–pporting
switchisused.
BGZpma
BGZpma[,{ind}[,nextARP]]
BranchifAccumulator>Zero
Ifthecontentsoftheaccumulatorare>0,branchtothespecifiedprogrammemoryaddress.
TMS320C2xdevices:
modifythecurrentARandARPasspecified.TMS320C2xxandTMS320C5xdevices:
modifythecurrentARandARPasspecifiedwhenthe–pporting
switchisused.
BIOZpma
BIOZpma[,{ind}[,nextARP]]
BranchonI/OStatus=Zero
IftheBIOpinislow,branchtothespecifiedprogrammemoryaddress.TMS320C2xdevices:
modifythecurrentARandARPasspecified.TMS320C2xxandTMS320C5xdevices:
modifythecurrentARandARPasspecifiedwhenthe–pportingswitchisused.
BITdma,bitcode
BIT{ind},bitcode[,nextARP]
TestBit
CopythespecifiedbitofthedatamemoryvaluetotheTCbitinST1.
BITTdma
BITT{ind}[,nextARP]
TestBitSpecifiedbyTRegister
TMS320C1x,TMS320C2x,TMS320C2xxdevices:
copythespecifiedbitofthedatamemoryvaluetotheTCbitinST1.The4LSBsoftheTregisterspecifywhichbitiscopied.
TMS320C5xdevices:
copythespecifiedbitofthedatamemoryvaluetotheTCbitinST1.The4LSBsoftheTREG2specifywhichbitiscopied.
BLDD#lk,dma
BLDD#lk,{ind}[,nextARP]
BLDDdma,#lk
BLDD{ind},#lk[,nextARP]
BLDDBMAR,dma
BLDDBMAR,{ind}[,nextARP]
BLDDdmaBMAR
BLDD{ind},BMAR[,nextARP]
BLDPdma
BLDP