[信息与通信]第3-4章DSP寻址及指令系统.ppt

[信息与通信]第3-4章DSP寻址及指令系统

【例3-77】 LT *,AR3 退出 (35)LTA TREG寄存器装载并累加前一次乘积 P86 (36)LTD TREG寄存器装载、累加前一次乘积并数据移动 P86 (37)LTP TREG寄存器装载并将乘积寄存器内容存入累加器 P87 (38)LTS TREG寄存器装载、累加器减去前一次的乘积 P87 (39)MAC 乘累加 P88 (40)MACD 乘累加并数据移动 P88 (41)MAR 修改辅助寄存器 P84 语法:MAR dma 直接寻址 MAR ind[,ARn] 间接寻址 说明:在直接寻址方式下,MAR指令的作用等同NOP指令。在间接寻址方式下,指令可修改辅助寄存器的值和ARP的值。当MAR修改ARP时,原来的ARP值复制到ST1的ARB中。 【例3-90】 MAR *,AR1 ;加载1到ARP 退出 【例3-91】 MAR *+,AR5 退出 (42)MPY 乘 P89 语法:MPY dma 直接寻址 MPY ind[,ARn] 间接寻址 MPY #k 短立即数寻址 说明:在直接或间接寻址时,TREG寄存器与指定的数据存储单元的内容相乘,结果存入PREG中;在使用短立即数寻址时,TREG的内容乘以有符号的13位常数,结果存入PREG中,这里的13位常数是右对齐的,且无论SXM为何值,该常数都将进行符号扩展。 退出 【例3-92】 MPY 13 ;DP=8:地址0400h-047Fh 【例3-94】 MPY #031h 退出 【例3-93】 MPY *,AR2 退出 (43) MPYA 乘并累加前一次乘积 P90 (44) MPYS 乘并减上一次乘积 P90 (45)MPYU 乘无符号数 P90 语法:MPYU dma 直接寻址 MPYU ind[,ARn] 间接寻址 说明:TREG中的无符号数与指定的数据存储单元中的无符号数相乘,结果存入PREG。指令受PM和OVM影响,指令执行结果影响C和OV。 【例3-103】 MPYU 16 ;DP=4:地址0200h-027Fh 退出 【例3-104】 MPYU *,AR6 退出 (46) NEG 累加器取补码 P77 (47)NMI 非屏蔽中断 语法:NMI 说明:执行该指令时,首先将PC+1压入堆栈,然后将程序计数器强制置为不可屏蔽中断向量地址24h。该指令与硬件不可屏蔽中断NMI的效果相同。指令不受INTM的影响,执行后置INTM=1。 (48)NOP 空操作 语法:NOP 说明:该指令除了执行PC值加1外不执行任何操作。在建立流水线和执行延时情况下,该指令很有用。 退出 (49) NORM 累加器内容归一化 P77 (50)OR 与累加器进行或操作 P78 语法:OR dma 直接寻址 OR ind[,ARn] 间接寻址 OR #1k[,shift] 长立即数寻址 OR #1k,16 左移16位的长立即数寻址 说明:ACC与指定的数据存储单元中的数或一个长立即数进行或操作,结果存ACC中,长立即数在操作前可进行左移位。对于直接寻址、间接寻址或不移位的长立即数,ACC的高16位内容不变。而对于移位数不为0的立即寻址,左移时低位填0,高位不进行符号扩展。指令不受SXM影响。 退出 (51) OUT 输出数据到端口 P105 【例3-111】 OR 8 ;DP=8 【例3-112】 OR *,AR0 退出 (52)PAC 乘积寄存器内容装载到累加器 P90 语法:PAC 说明:将PREG的内容左移,移位后加载到累加器中,移位的次数由ST1寄存器的PM位定义。 【例3-116】 PAC ;PM=0 退出 (53)POP 栈顶内容弹出到累加器低16位 P99 语法:POP 说明:将栈顶(TOS)的内容复制到ACC的低16位,累加器的高16位清0,堆栈上弹一级。 退出 【例3-117】 POP 退出 (54)POPD 栈顶内容弹出到数据存储单元 P99 语法:POPD dam 直接寻址 POPD ind[,ARn] 间接寻址 说明:将栈顶(TOS)内容复制到指定的数据存储单元中,堆栈中的低7个单元依次向上复制一级。 退出 【例3-118】 POPD 10 ;

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档