C54x指令系統(tǒng)(邏輯運(yùn)算指令).ppt
2019年12月13日,DSP原理及應(yīng)用,1,第2章TMS320C54x的指令系統(tǒng),C54x的指令系統(tǒng)具有豐富的邏輯運(yùn)算指令。,包括:,與運(yùn)算指令(AND)或運(yùn)算指令(OR)異或運(yùn)算指令(XOR)移位操作指令(SHIFT)測(cè)試操作指令(TEST),2.2.3邏輯運(yùn)算指令,2019年12月13日,DSP原理及應(yīng)用,2,第2章TMS320C54x的指令系統(tǒng),操作碼:AND、ANDM,指令格式:操作碼源操作數(shù),移位數(shù),目的操作數(shù),源操作數(shù):Smem、#lk、src,移位數(shù):16、SHIFT、SHFT,目的操作數(shù):src、dst、Smem,1.與運(yùn)算指令,2019年12月13日,DSP原理及應(yīng)用,3,第2章TMS320C54x的指令系統(tǒng),與邏輯運(yùn)算指令共有5條。,與運(yùn)算指令功能一覽表,2019年12月13日,DSP原理及應(yīng)用,4,第2章TMS320C54x的指令系統(tǒng),指令格式:操作碼源操作數(shù),移位數(shù),目的操作數(shù),或運(yùn)算指令共計(jì)5條。,2.或運(yùn)算指令,2019年12月13日,DSP原理及應(yīng)用,5,第2章TMS320C54x的指令系統(tǒng),或運(yùn)算指令功能一覽表,2019年12月13日,DSP原理及應(yīng)用,6,第2章TMS320C54x的指令系統(tǒng),指令格式:操作碼源操作數(shù),移位數(shù),目的操作數(shù),異或運(yùn)算指令共計(jì)5條。,3.異或運(yùn)算指令,2019年12月13日,DSP原理及應(yīng)用,7,第2章TMS320C54x的指令系統(tǒng),異或運(yùn)算指令功能一覽表,2019年12月13日,DSP原理及應(yīng)用,8,第2章TMS320C54x的指令系統(tǒng),指令格式:操作碼源操作數(shù),移位數(shù),目的操作數(shù),C54x共有6條移位指令,可實(shí)現(xiàn)帶進(jìn)位位循環(huán)移位、帶TC位循環(huán)左移、算術(shù)移位、條件移位和邏輯移位等操作。,操作碼:ROL、ROLTC、ROR、SFTA、SFTC、SFTL,源操作數(shù):src,移位數(shù):SHIFT,目的操作數(shù):dst,4.移位操作指令,2019年12月13日,DSP原理及應(yīng)用,9,第2章TMS320C54x的指令系統(tǒng),(4)移位操作指令,帶進(jìn)位位循環(huán)左移,操作數(shù)src:累加器A或B,指令功能:累加器src與進(jìn)位位C循環(huán)左移一位。,指令格式:ROLsrc,0,執(zhí)行過(guò)程:,2019年12月13日,DSP原理及應(yīng)用,10,第2章TMS320C54x的指令系統(tǒng),(4)移位操作指令,帶測(cè)試位循環(huán)左移,操作數(shù)src:累加器A或B,指令功能:累加器src與測(cè)試位TC循環(huán)左移一位。,執(zhí)行過(guò)程:,指令格式:ROLTCsrc,TC的值移入src的最低位,累加器src左移一位,src的最高位移入TC,src的保護(hù)位清0,0,2019年12月13日,DSP原理及應(yīng)用,11,第2章TMS320C54x的指令系統(tǒng),(4)移位操作指令,帶進(jìn)位位循環(huán)右移,操作數(shù)src:累加器A或B,指令功能:累加器src與進(jìn)位位C循環(huán)右移一位。,執(zhí)行過(guò)程:,指令格式:RORsrc,C的值移入src的31位累加器src右移一位src的最低位移入Csrc的保護(hù)位清0,0,2019年12月13日,DSP原理及應(yīng)用,12,第2章TMS320C54x的指令系統(tǒng),算術(shù)移位,操作數(shù)src:累加器A或B,指令功能:根據(jù)SHIFT,src的內(nèi)容算術(shù)移位。,指令格式:SFTAsrc,SHIFT,dst,IfSHIFT>SHIFTsrc或dst0src(SHIFT-1)0)或0dst(SHIFT-1)0),2019年12月13日,DSP原理及應(yīng)用,13,第2章TMS320C54x的指令系統(tǒng),算術(shù)移位,執(zhí)行過(guò)程:,當(dāng)SHIFT0時(shí),進(jìn)行算術(shù)左移1)src的第(39-SHIFT)位復(fù)制到進(jìn)位位C;2)40位src左移SHIFT位,結(jié)果存入src或dst;3)將0置入dst的低SHIFT的各位0寫(xiě)入dst(SHIFT-1)0),2019年12月13日,DSP原理及應(yīng)用,15,第2章TMS320C54x的指令系統(tǒng),(4)移位操作指令,條件移位,操作數(shù)src:累加器A或B,指令功能:,指令格式:SFTCsrc,Ifsrc=0Then1TCElseIfsrc(31)=src(30)Thensrc<<1src0TCElse1TC,2019年12月13日,DSP原理及應(yīng)用,16,第3章TMS320C54x的指令系統(tǒng),條件移位,執(zhí)行過(guò)程:當(dāng)src=0時(shí),將1寫(xiě)入測(cè)試位TC;當(dāng)src0時(shí),進(jìn)行條件移位。若src有兩個(gè)有效符號(hào)位,則移位。32位src左移一位;保護(hù)位src(3932)不變;0寫(xiě)入測(cè)試位TC。若src只有一個(gè)符號(hào)位,則不移位。1寫(xiě)入測(cè)試位TC。,2019年12月13日,DSP原理及應(yīng)用,17,第2章TMS320C54x的指令系統(tǒng),C54x共有5條測(cè)試操作指令。,BIT,指令格式:BITXmem,BITC,指令功能:(Xmem(15-BITC)TC功能說(shuō)明:將Xmem的指定位復(fù)制到TC位。,操作數(shù):Xmem雙數(shù)據(jù)存儲(chǔ)操作數(shù)BITC測(cè)試位的位代碼,取值:015,5.測(cè)試操作指令,2019年12月13日,DSP原理及應(yīng)用,18,第2章TMS320C54x的指令系統(tǒng),(5)測(cè)試操作指令,BITF,指令格式:BITFSmem,#lk,指令功能:If(Smem)ANDlk)=0Then0TCElse1TC功能說(shuō)明:測(cè)試Smem中由1k指定的某些位。若指定的測(cè)試位為0,TC=0,否則,TC=1。lk在測(cè)試指定位中起屏蔽作用。,操作數(shù):Smem單數(shù)據(jù)存儲(chǔ)操作數(shù)#lk16位長(zhǎng)立即數(shù),取值:065535,2019年12月13日,DSP原理及應(yīng)用,19,第2章TMS320C54x的指令系統(tǒng),(5)測(cè)試操作指令,BITT,指令格式:BITTSmem,指令功能:(Smem(15-T(30)TC功能說(shuō)明:將Smem的指定位復(fù)制到TC中。T寄存器的低4位T(30)用于確定測(cè)試位的位代碼,位地址對(duì)應(yīng)于15-T(30)。,操作數(shù):Smem單數(shù)據(jù)存儲(chǔ)操作數(shù),2019年12月13日,DSP原理及應(yīng)用,20,第2章TMS320C54x的指令系統(tǒng),(5)測(cè)試操作指令,BITT,指令功能:(Smem(15-T(30)TC,2019年12月13日,DSP原理及應(yīng)用,21,第2章TMS320C54x的指令系統(tǒng),(5)測(cè)試操作指令,CMPM,指令格式:CMPMSmem,#lk,操作數(shù):Smem單數(shù)據(jù)存儲(chǔ)操作數(shù)#lk長(zhǎng)立即數(shù),取值:-3276832768,指令功能:If(Smem)=lkThen1TCElse0TC功能說(shuō)明:比較Smem中的操作數(shù)與常量1k是否相等。若(Smem)=1k,則TC=1,否則,TC=0。,2019年12月13日,DSP原理及應(yīng)用,22,第2章TMS320C54x的指令系統(tǒng),(5)測(cè)試操作指令,CMPR,指令格式:CMPRCC,ARx,操作數(shù):CC條件代碼,取值:00b11bARx輔助寄存器AR0AR7,指令功能:If(cond)Then1TCElse0TC功能說(shuō)明:根據(jù)條件代碼CC,將指定的ARx與AR0比較。若滿(mǎn)足條件,則TC=1,否則,TC=0。,2019年12月13日,DSP原理及應(yīng)用,23,第2章TMS320C54x的指令系統(tǒng),(5)測(cè)試操作指令,CMPR,注意:所有的條件都以無(wú)符號(hào)操作數(shù)的形式參與運(yùn)算。,