算术运算指令与逻辑运算指令.ppt

上传人:小飞机 文档编号:5810501 上传时间:2023-08-22 格式:PPT 页数:35 大小:432KB
返回 下载 相关 举报
算术运算指令与逻辑运算指令.ppt_第1页
第1页 / 共35页
算术运算指令与逻辑运算指令.ppt_第2页
第2页 / 共35页
算术运算指令与逻辑运算指令.ppt_第3页
第3页 / 共35页
算术运算指令与逻辑运算指令.ppt_第4页
第4页 / 共35页
算术运算指令与逻辑运算指令.ppt_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《算术运算指令与逻辑运算指令.ppt》由会员分享,可在线阅读,更多相关《算术运算指令与逻辑运算指令.ppt(35页珍藏版)》请在三一办公上搜索。

1、第六讲 算术运算指令与逻辑运算指令 TMS320C54X共有129条指令。按功能分为4大类:算术运算指令;逻辑运算指令;程序控制指令;存储和装入指令。,1.算术运算指令(79条分为6小类)加法指令(ADD);减法指令(SUB);乘法指令(MPY);乘加指令(MAC)和乘减指令(MAS);双数/双精度指令(DADD、DSUB);特殊操作指令(ABDST、SQDST)。,(1)加法指令(13条)附录A TMS320C54X指令集 说明:不同的加法指令用途不同;ADD:不带进位;ADD:不带进位、移位;ADDC:带进位;ADDM:专用于立即数;ADDS:无符号数;,Add Instructions,

2、附录A,加法指令举例【例1】ADD*AR3+,14,A;;指令受SXM 和 OVM状态标志的影响,;指令执行结果影响C 和OVA/OVB;,加法指令举例【例1】ADD*AR3+,14,A;指令受 SXM 和 OVM 状态标志的影响,;指令执行结果影响 C 和 OVA/OVB;,(2)减法指令(13条)附录A 说明:SUBS用于无符号数的减法运算;SUBB用于带借位的减法运算(如32位扩展精度的减法);SUBC为条件减法.,减法指令举例【例2】SUBB*AR1+,B;;指令受 C 和 OVM 状态标志的影响,;指令执行结果影响 C 和OVsrc;,减法指令举例【例2】SUBB*AR1+,B;;指

3、令受 C 和 OVM 状态标志的影响,;指令执行结果影响 C 和OVsrc;,(3)乘法指令(10条)附录A 说明:不同的乘法指令完成不同的功能 MPY:普通乘指令;MPYR:带四舍五入指令;MPYA:A累加器高端参与乘法;MPYU:无符号乘法;SQUR:平方;小数乘法 将FRCT设置为1,系统自动将乘积结果左移1位。,乘法指令举例【例3】MPY 13,A;P164;指令受 FRCT 和 OVM 状态标志的影响,;指令执行结果影响 OVdst;,(4)乘加和乘减指令(15条)附录A【例4】MAC*AR5+,A;A+(AR5)*TA,AR5=AR5+1,(4)乘加和乘减指令(15条)附录A【例4

4、】MAC*AR5+,A;A+(AR5)*TA,AR5=AR5+1,MAC*AR3+,*AR4+,A;?,Example 5:MACR*AR5+,*AR6+,A,B,Example 5:MACR*AR5+,*AR6+,A,B,问题,?请用ADD 和 MPY指令代替 MAC*AR5+,#1234h,A MPY*AR5+,#1234h,B ADD B,A?什么区别?,(5)长操作数指令(6条)附录A DADD Lmem,src,dst;P149,例 6:DADD*AR3,A,B,;ST1 中的 C16 决定了指令的执行方式。,例 6:DADD*AR3,A,B,;ST1 中的 C16 决定了指令的执行

5、方式。,(6)特殊应用指令(15条)附录A 求绝对值 求累加器指数 求累加器的最大/小值 归一化 求多项式的值 求两点之间距离的平方 求最小均方值 对称有限冲击响应滤波器等,FIRS Xmem,Ymem,pmad;B=B+A(3216)*pmad,A=(Xmem+Ymem)16MAX dst dst=max(A,B)MIN dst dst=min(A,B),例 7:FIRS*AR3+,*AR4+,COEFFS;P154,;指令受 FRCT,SXM 和 OVM 状态标志的影响,;指令执行结果影响 C 和 OVdst;,例 7:FIRS*AR3+,*AR4+,COEFFS,;指令受 FRCT,SX

6、M 和 OVM 状态标志的影响,;指令执行结果影响 C 和 OVdst;,2.逻辑指令(5小类)与指令(AND);或指令(OR);异或指令(XOR);移位指令(ROL);测试指令(BITF)。(1)与、或、异或指令(共15条)附录A(2)移位指令和测试指令(共11条)附录A,与指令(AND),AND Smem,srcAND#lk,SHFT,src,dst AND#lk,16,src,dst AND src,SHIFT,dst ANDM#lk,Smem,例 8:AND A,3,B,例 8:AND A,3,B,例 9:BITT*AR7+0,例 9:BITT*AR7+0,实例程序:建立项目工程文件e

7、xample1,使之实现计算y=mx+b;.title example1.asm.mmregsSTACK.usect STACK,10H;堆栈的设置.bss x,1;为变量分配4 个字的存储空间.bss m,1.bss b,1.bss y,1.def _c_int00.datatable.word 15,3,20;x,m,b.text_c_int00:STM#0,SWWSR;插入0 个等待状态STM#STACK+10H,SP;设置堆栈指针STM#x,AR1;AR1指向xRPT#2MVPD table,*AR1+;把程序存储器中的数据移动到数据存储器CALL SUMMend:B endSUMM:

8、LD*(x),TMPY*(m),AADD*(b),ASTL A,*(y)RET.end,CPU状态和控制寄存器 C54x DSP的CPU有三个状态和控制寄存器:(1)状态寄存器0(ST0);(2)状态寄存器1(ST1);(3)处理器工作模式状态寄存器(PMST)。ST0和ST1中包含CPU各种工作条件和工作方式的状态,PMST中包含存储器的设置状态及其他控制信息。,状态寄存器(ST0)功能:反映寻址要求和计算中的状态;ST0的结构图:,含义:ARP 辅助寄存器指针 TC 测试/控制标志位 C进位位。OVA/OVB 累加器A/B的溢出标志位 DP数据存储器页指针,(Auxiliary Register Pointer),(Overflow),(Data page),状态寄存器(ST1)功能:反映寻址要求、计算初始状态、I/O终端控制。ST1的结构图:,含义:BRAF 块重复操作标志位。CPL 直接寻址编辑方式位 XF XF引脚状态位。HM 保持方式位 INTM 中断方式位。OVM 溢出方式位 SXM 符号位扩展方式位。C16 双16位/双精度算术运算方式位 FRCT 小数方式位。CMPT 修正方式位 ASM 累加器移位方式位,功能:设定并控制处理器的工作方式,反映处理器工作状态;,工作方式寄存器(PMSTProcessor Mode Status),

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号