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