




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第六讲第六讲 算术运算指令与逻辑运算指令算术运算指令与逻辑运算指令 TMS320C54X共有共有129条指令。条指令。 按功能分为按功能分为4大类:大类: 算术运算指令;算术运算指令; 逻辑运算指令;逻辑运算指令; 程序控制指令;程序控制指令; 存储和装入指令。存储和装入指令。1.1.算术运算指令算术运算指令7979条分为条分为6 6小类)小类) 加法指令加法指令(ADD)(ADD); 减法指令减法指令(SUB)(SUB); 乘法指令乘法指令(MPY)(MPY); 乘加指令乘加指令(MAC)(MAC)和乘减指令和乘减指令(MAS)(MAS); 双数双数/ /双精度指令双精度指令(DADD(DA
2、DD、DSUB)DSUB); 特殊操作指令特殊操作指令(ABDST(ABDST、SQDST)SQDST)。 (1) 加法指令13条)附录A TMS320C54X指令集 阐明: 不同的加法指令用途不同; ADD:不带进位; ADD:不带进位、移位; ADDC:带进位; ADDM:专用于立即数; ADDS:无符号数;Add Instructions附录A 加法指令举例【例1】 ADD *AR3+, 14, A;;指令受SXM 和 OVM状态标志的影响,;指令执行结果影响C 和OVA/OVB; 操作前 00 0000 1200 1 1500 A B Data Memory 0100h 操作后 A B
3、 0100h 0100 1 AR3 SXM AR3 SXM 操作前 00 0000 1200 1 1500 A B Data Memory 0100h 操作后 00 0540 1200 1 1500 A B 0100h 0100 1 0101 1 AR3 SXM AR3 SXM 加法指令举例【例1】 ADD *AR3+, 14, A;指令受 SXM 和 OVM 状态标志的影响,;指令执行结果影响 C 和 OVA/OVB;(2) 减法指令13条) 附录A 阐明:SUBS用于无符号数的减法运算; SUBB用于带借位的减法运算(如32位扩展精度的减法); SUBC为条件减法 . 减法指令举例【例2】
4、 SUBB *AR1+, B;;指令受 C 和 OVM 状态标志的影响,;指令执行结果影响 C 和OVsrc; 操作前 FF 8000 0006 1 0006 B C Data Memory 0405h 操作后 B C 0405h 0405 1 AR1 OVM AR1 OVM 减法指令举例【例2】 SUBB *AR1+, B;;指令受 C 和 OVM 状态标志的影响,;指令执行结果影响 C 和OVsrc; 操作前 FF 8000 0006 1 0006 B C Data Memory 0405h 操作后 FF 8000 0000 1 0006 B C 0405h 0405 1 0406 1 A
5、R1 OVM AR1 OVM (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 操作前 00 0000 1000 0400 1234 A
6、T Data Memory 0100h 操作后 A T 0100h 0 0100 FRCT AR5 FRCT AR5 (4) 乘加和乘减指令15条)附录A【例4】 MAC *AR5+,A;A+(AR5)*TA, AR5= AR5+1 操作前 00 0000 1000 0400 1234 A T Data Memory 0100h 操作后 00 0048 E000 0400 1234 A T 0100h 0 0100 0 0101 FRCT AR5 FRCT AR5 lMAC*AR3+, *AR4+, A ;?;?Example 5: MACR *AR5+, *AR6+,A, BExample
7、5: MACR *AR5+, *AR6+,A, B问题问题l? 请用ADD 和 MPY指令代替 MAC *AR5+, #1234h, Al MPY *AR5+,#1234h,Bl ADD B,Al? 什么区别?(5 5长操作数指令长操作数指令6 6条)条)附录附录A A DADD DADD Lmem,src ,dst Lmem,src ,dst ;P149P149例例 6: DADD *AR3, A, B; ST1 中的中的 C16 决定了指令的执行方式。决定了指令的执行方式。例例 6: DADD *AR3, A, B; ST1 中的中的 C16 决定了指令的执行方式。决定了指令的执行方式。(
8、6特殊应用指令15条)附录A 求绝对值 求累加器指数 求累加器的最大/小值 归一化 求多项式的值 求两点之间距离的平方 求最小均方值 对称有限冲击响应滤波器等 lFIRS Xmem, Ymem, pmad l ;B = B + A(3216) * pmad ,l A = (Xmem + Ymem) 16lMAX dst dst = max(A, B)lMIN dst dst = min(A, B)例例 7: FIRS *AR3+, *AR4+, COEFFS ;P154;指令受指令受 FRCT,SXM 和和 OVM 状态标志的影响,状态标志的影响,;指令执行结果影响指令执行结果影响 C 和和
9、OVdst;例例 7: FIRS *AR3+, *AR4+, COEFFS;指令受指令受 FRCT,SXM 和和 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 , SHIF
10、T , dst ANDM #lk, Smem例例 8: AND A, 3, B例例 8: AND A, 3, B例例 9: BITT *AR7+0例例 9: BITT *AR7+0实例程序:建立项目工程文件实例程序:建立项目工程文件example1,使之实现计算,使之实现计算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
11、,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: LD *(x),TMPY *(m),AADD *(b),ASTL A,*(y)RET.endCPU状态和控制寄存器状态和控制寄存器 C54x DSP的的CPU有三个状态和控制寄存器:有三个状态和控制寄存器: (1) 状
12、态寄存器状态寄存器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的结构图:的结构图: 1 5 7 6 5 4 3 2 1 0 I P T R M P / M C O
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 甲醇购销合同
- 农业生产安全技术方案
- 大数据风控系统开发合同
- 代理委托消防合同
- 两个孩子一人一个离婚协议书
- 劳务班组施工合同
- 网络文学版权授权合作协议
- 青岛版(2024)小学信息技术第二册《第8课 智能互联更高效》教学设计
- 闽教版(2020)信息技术三年级上册《第8课 输入法要选择》教学设计
- 宠物医院异味处理协议
- 跨学科实践活动10调查我国航天科技领域中新型材料新型能源的应用课件九年级化学人教版(2024)下册
- 代理分销销售协议书
- 2024综合基础知识考试题库及解析(146题)
- 中国类风湿关节炎诊疗指南(2024版)解读
- 《社会治理概论》课程教学大纲
- 读书分享《非暴力沟通》课件(图文)
- 钳工实训安全
- 智慧生活:AI与智能家居-揭秘未来智能化生活趋势
- 消渴症护理查房
- 《钢铁是怎样炼成的》读书分享课件
- DB11T 2120-2023 古建筑安全防范技术规范
评论
0/150
提交评论