资源描述
2019年12月13日,DSP原理及应用,1,第2章TMS320C54x的指令系统,C54x的指令系统具有丰富的逻辑运算指令。,包括:,与运算指令(AND)或运算指令(OR)异或运算指令(XOR)移位操作指令(SHIFT)测试操作指令(TEST),2.2.3逻辑运算指令,2019年12月13日,DSP原理及应用,2,第2章TMS320C54x的指令系统,操作码:AND、ANDM,指令格式:操作码源操作数,移位数,目的操作数,源操作数:Smem、#lk、src,移位数:16、SHIFT、SHFT,目的操作数:src、dst、Smem,1.与运算指令,2019年12月13日,DSP原理及应用,3,第2章TMS320C54x的指令系统,与逻辑运算指令共有5条。,与运算指令功能一览表,2019年12月13日,DSP原理及应用,4,第2章TMS320C54x的指令系统,指令格式:操作码源操作数,移位数,目的操作数,或运算指令共计5条。,2.或运算指令,2019年12月13日,DSP原理及应用,5,第2章TMS320C54x的指令系统,或运算指令功能一览表,2019年12月13日,DSP原理及应用,6,第2章TMS320C54x的指令系统,指令格式:操作码源操作数,移位数,目的操作数,异或运算指令共计5条。,3.异或运算指令,2019年12月13日,DSP原理及应用,7,第2章TMS320C54x的指令系统,异或运算指令功能一览表,2019年12月13日,DSP原理及应用,8,第2章TMS320C54x的指令系统,指令格式:操作码源操作数,移位数,目的操作数,C54x共有6条移位指令,可实现带进位位循环移位、带TC位循环左移、算术移位、条件移位和逻辑移位等操作。,操作码:ROL、ROLTC、ROR、SFTA、SFTC、SFTL,源操作数:src,移位数:SHIFT,目的操作数:dst,4.移位操作指令,2019年12月13日,DSP原理及应用,9,第2章TMS320C54x的指令系统,(4)移位操作指令,带进位位循环左移,操作数src:累加器A或B,指令功能:累加器src与进位位C循环左移一位。,指令格式:ROLsrc,0,执行过程:,2019年12月13日,DSP原理及应用,10,第2章TMS320C54x的指令系统,(4)移位操作指令,带测试位循环左移,操作数src:累加器A或B,指令功能:累加器src与测试位TC循环左移一位。,执行过程:,指令格式:ROLTCsrc,TC的值移入src的最低位,累加器src左移一位,src的最高位移入TC,src的保护位清0,0,2019年12月13日,DSP原理及应用,11,第2章TMS320C54x的指令系统,(4)移位操作指令,带进位位循环右移,操作数src:累加器A或B,指令功能:累加器src与进位位C循环右移一位。,执行过程:,指令格式:RORsrc,C的值移入src的31位累加器src右移一位src的最低位移入Csrc的保护位清0,0,2019年12月13日,DSP原理及应用,12,第2章TMS320C54x的指令系统,算术移位,操作数src:累加器A或B,指令功能:根据SHIFT,src的内容算术移位。,指令格式:SFTAsrc,SHIFT,dst,IfSHIFTSHIFTsrc或dst0src(SHIFT-1)0)或0dst(SHIFT-1)0),2019年12月13日,DSP原理及应用,13,第2章TMS320C54x的指令系统,算术移位,执行过程:,当SHIFT0时,进行算术左移1)src的第(39-SHIFT)位复制到进位位C;2)40位src左移SHIFT位,结果存入src或dst;3)将0置入dst的低SHIFT的各位0写入dst(SHIFT-1)0),2019年12月13日,DSP原理及应用,15,第2章TMS320C54x的指令系统,(4)移位操作指令,条件移位,操作数src:累加器A或B,指令功能:,指令格式:SFTCsrc,Ifsrc=0Then1TCElseIfsrc(31)=src(30)Thensrc1src0TCElse1TC,2019年12月13日,DSP原理及应用,16,第3章TMS320C54x的指令系统,条件移位,执行过程:当src=0时,将1写入测试位TC;当src0时,进行条件移位。若src有两个有效符号位,则移位。32位src左移一位;保护位src(3932)不变;0写入测试位TC。若src只有一个符号位,则不移位。1写入测试位TC。,2019年12月13日,DSP原理及应用,17,第2章TMS320C54x的指令系统,C54x共有5条测试操作指令。,BIT,指令格式:BITXmem,BITC,指令功能:(Xmem(15-BITC)TC功能说明:将Xmem的指定位复制到TC位。,操作数:Xmem双数据存储操作数BITC测试位的位代码,取值:015,5.测试操作指令,2019年12月13日,DSP原理及应用,18,第2章TMS320C54x的指令系统,(5)测试操作指令,BITF,指令格式:BITFSmem,#lk,指令功能:If(Smem)ANDlk)=0Then0TCElse1TC功能说明:测试Smem中由1k指定的某些位。若指定的测试位为0,TC=0,否则,TC=1。lk在测试指定位中起屏蔽作用。,操作数:Smem单数据存储操作数#lk16位长立即数,取值:065535,2019年12月13日,DSP原理及应用,19,第2章TMS320C54x的指令系统,(5)测试操作指令,BITT,指令格式:BITTSmem,指令功能:(Smem(15-T(30)TC功能说明:将Smem的指定位复制到TC中。T寄存器的低4位T(30)用于确定测试位的位代码,位地址对应于15-T(30)。,操作数:Smem单数据存储操作数,2019年12月13日,DSP原理及应用,20,第2章TMS320C54x的指令系统,(5)测试操作指令,BITT,指令功能:(Smem(15-T(30)TC,2019年12月13日,DSP原理及应用,21,第2章TMS320C54x的指令系统,(5)测试操作指令,CMPM,指令格式:CMPMSmem,#lk,操作数:Smem单数据存储操作数#lk长立即数,取值:-3276832768,指令功能:If(Smem)=lkThen1TCElse0TC功能说明:比较Smem中的操作数与常量1k是否相等。若(Smem)=1k,则TC=1,否则,TC=0。,2019年12月13日,DSP原理及应用,22,第2章TMS320C54x的指令系统,(5)测试操作指令,CMPR,指令格式:CMPRCC,ARx,操作数:CC条件代码,取值:00b11bARx辅助寄存器AR0AR7,指令功能:If(cond)Then1TCElse0TC功能说明:根据条件代码CC,将指定的ARx与AR0比较。若满足条件,则TC=1,否则,TC=0。,2019年12月13日,DSP原理及应用,23,第2章TMS320C54x的指令系统,(5)测试操作指令,CMPR,注意:所有的条件都以无符号操作数的形式参与运算。,
展开阅读全文