DSP课件NO.7指令系统.ppt
3.2 C55汇编指令系统,3.2.1汇编语言源程序格式,label:mnemonic operand list;commend,1、简单指令不允许扩写到多行,但并行的指令例外:,如:MPYR40 uns(Xmem),uns(Cmem),Acx:MPYR40 uns(Ymem),uns(Cmem),Acx,MOV AC0,AC1|MOV AC2,AC3,MOV AC0,AC1|MOV AC2,AC3,3.2 C55汇编指令系统,2、标号要区分大小写,助记符语法关键字和操作数 限定符不区分大小写,3、助记符域:指令助记符、汇编伪指令、宏伪指令、宏调用。,4、操作数有以下几种:Smem、Lmem、Xmem和Ymem、Cmem、Baddr,没有指令可以访问存储器映射寄存器中的一个字节,如:MOV uns(high_byte(Smem),dst,3.2 C55汇编指令系统,dbl dual HI high_byte LO low_byte pair rnd saturate uns,操作数限定符:,3.2.2指令集说明,4.1 C55汇编指令系统,组合的顺序是:M K R40,A,Z,orU,举例:MAC,3.2 C55汇编指令系统,1 MACR ACx,Tx,ACy,ACy,执行过程:ACy=ACy+(ACx*Tx),受FRCT、M40、RDM、SATD、SMUL影响,影响ACOVy,举例:MAC AC1,T0,AC0,3.2 C55汇编指令系统,3 MACK T0,#FFh,AC1,AC0,5 MACMR*AR1,*CDP,AC2,9 MACMR uns(*AR2+),uns(*AR3+),AC3,10 MACM uns(*AR3),uns(*AR4),AC1#16,AC0,2、MACMZ:带有并行延迟的乘累加,如:MACMZ*AR3,*CDP,AC0,3.2 C55汇编指令系统,3、MAC:MAC,举例:MAC uns(*AR3),uns(*CDP),AC0#16:MAC uns(*AR4),uns(*CDP),AC1#16,3.2 C55汇编指令系统,3.2 C55汇编指令系统,MAC:MPY:乘累加与乘并行,MAC:MOV:乘累加和从存储器装载累加器并行。,3.2 C55汇编指令系统,MAC:MOV乘累加和执行将累加器内容存入存储器并行。,C55指令集按操作类型可分为6种:1算术运算指令2位操作指令3扩展辅助寄存器操作指令4逻辑运算指令5移动指令6程序控制指令,3.2 C55汇编指令系统,3.2 C55汇编指令系统,举例说明:,(1)ADD*AR3+,T0,T1,(2)ADD Xmen,Ymen,ACx,3.2 C55汇编指令系统,(3)MPY AC0,AC1,说明:用累加器的高位部分即:31-16位,结果是32位,也就是要用到 31-0位,3.2 C55汇编指令系统,(4)PSH AR0,AC1,说明:是用累加器的低位部分即:15-0位,3.2 C55汇编指令系统,(5)ROUND AC0,AC1,(6)SAT AC0,AC1,