《DSP汇编语言初步ppt课件.ppt》由会员分享,可在线阅读,更多相关《DSP汇编语言初步ppt课件.ppt(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。BIT/TI第四讲 汇编语言初步1汇编语言初步汇编语言初步目的:用汇编语言编写简单程序“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。学习内容 汇编代码的结构 汇编程序的构成 编写简单算法:y = mx+bBIT/TI2第四讲 汇编语言初步“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信
2、息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。一、汇编代码的构成label: | cond instruction .unit operand ;comment标号:代码或变量地址条件寄存器条件寄存器指令: 助记符(mnemonic) 伪指令(directive)功能单元功能单元(可选可选)操作数: 寄存器 常量 指针注释x .int 10 MPY .M1 A1, A3, A7 | ADD .L1x A2, B2, A5 BIT/TI3第四讲 汇编语言初步“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化
3、管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。常用伪指令汇编指令说明.sect定义一个代码段或数据段.usect定义一个未初始化数据段.int.long.word定义和初始化32位变量.short.half定义和初始化16位变量.byte定义和初始化8位变量在在C语言里语言里long是是40位,在汇编语言里位,在汇编语言里long是是32位位注意BIT/TI4第四讲 汇编语言初步“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。二、汇编程序的构成二、汇编程
4、序的构成程序数据结构算法程序数据结构算法数据结构数据结构算法算法C程序的数据结构和算法实现BIT/TI5第四讲 汇编语言初步“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。汇编程序数据结构汇编程序数据结构用汇编语言声明数据结构用汇编语言声明数据结构:BIT/TI6第四讲 汇编语言初步“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。汇编程序算法汇编程序算法用汇编语
5、言编写算法用汇编语言编写算法:BIT/TI7第四讲 汇编语言初步“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。完整的汇编程序构成.sect “myData”m:.int5x:.int10b:.int2y:.int0.sect “myCode”start:LD .D1 *A0,A1 . . .ST .D1 A7,*A6 end: B endNOP 5BIT/TI8第四讲 汇编语言初步“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化
6、管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。搬移指令搬移指令MV指令用于在通用寄存器之间传送数据。指令用于在通用寄存器之间传送数据。MVC指令用于在通用寄存器与控制寄存器之指令用于在通用寄存器与控制寄存器之间传送数据,此条指令只能使用间传送数据,此条指令只能使用.S2功能单元功能单元.MVK类指令用于把类指令用于把16位常数送入通用寄存器。位常数送入通用寄存器。在在C6000指令集内,只能往寄存器送指令集内,只能往寄存器送16位常数,位常数,可选择可选择MVK 、MVKH或或MVKL指令向寄存指令向寄存器的高器的高16位送数。位送数。搬移指令共有搬移指令共有3类类:M
7、V, MVC, MVK:BIT/TI9第四讲 汇编语言初步“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。三、用汇编指令编写y=mx+b1.数据取入寄存器:m,x,b存储器寄存器1a. 初始化数据指针1b. 取数据2.乘法3.加法4.存储数据:y寄存器存储器BIT/TI10第四讲 汇编语言初步“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。1a.指针初始化指针初
8、始化32位常量位常量MVK .S1m, A0MVKH.S1m, A0; &mA0MVK .S1x, A2MVKH.S1x, A2; &xA2MVK .S1b, A4MVKH.S1b, A4; &bA4BIT/TI11第四讲 汇编语言初步“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。指令MVKMVK/ MVKL把一个把一个16位常数放入寄存器位常数放入寄存器MVK/MVKL - Move a Signed Constant into a Register and Sign-Ex
9、tend (C64x)BIT/TI12第四讲 汇编语言初步“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。1b.取数据LDH .D1*A0, A1; 取取mLDH .D1*A2, A3; 取取xLDH .D1*A4, A5; 取取bNOP4BIT/TI13第四讲 汇编语言初步“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。LD/ST指令三种三种Load指令,对应
10、不同长度的数据指令,对应不同长度的数据 LDW取取32位字位字(word) LDH取取16位的半字位的半字(short) LDB取取8位字节位字节(byte)对无符号数对无符号数(字节、字节、16位半字位半字) LDBU LDHU指令延迟:四个延迟间隙指令延迟:四个延迟间隙三个存储指令三个存储指令 STW STH STB数据取入寄存器后进行符号扩展无符号扩展BIT/TI14第四讲 汇编语言初步“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。指令延迟间隙延迟间隙:多周期指令所需要
11、插入的NOP指令个数BIT/TI15第四讲 汇编语言初步“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。2.乘法MPY .M1 A1, A3, A7NOP BIT/TI16第四讲 汇编语言初步“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。乘法指令 四种乘法指令四种乘法指令MPY(U/US/SU)16LSB16LSBMPYH(U/US/SU) 16MSB16MS
12、BMPYH(U/S)L(U/S) 16MSB16LSBMPYL(U/S)H(U/S)16LSB16MSB 指令延迟槽:指令延迟槽:1 两个乘法单元可以在一个周期内做两次乘法两个乘法单元可以在一个周期内做两次乘法BIT/TI17第四讲 汇编语言初步“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。3.加法.L1.S1.D1或或ADD.? 应该使用哪个功能单元?应该使用哪个功能单元?ADD .?A5, A7, A7BIT/TI18第四讲 汇编语言初步“雪亮工程是以区(县)、乡(镇)、
13、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。4.存储结果BIT/TI19第四讲 汇编语言初步“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。完整的y=mx+b汇编程序.title lab4.asm/*定义数据结构*/.sect myData”m .short 10 x.short 5b.short 2y.short 0/*算法*/.sect myCode/*指针初始化*/init:mvk .
14、s1 m,A0;A0=&mmvkh .s1 m,A0mvk .s1 x,A2 ;A2=&xmvkh .s1 x,A2mvk .s1 b,A4;A4=&bmvkh .s1 b,A4mvk .s1 y,A6 ; A6=&ymvkh .s1 y,A6/*取数据*/ldh .d1 *A0,A1 ; A1= mldh .d1 *A2,A3 ; A3=xldh .d1 *A4,A5 ; A5=bnop 4/*核心算法*/start:mpy .m1 A1,A3,A7 ; A7=mxnop 1add .l1 A5,A7,A7 ; A7=mx+bsth .d1 A7,*A6/*结束循环*/b $ ; endless loopnop 5BIT/TI20第四讲 汇编语言初步“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。例程2:乘加运算汇编程序BIT/TI21第四讲 汇编语言初步“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。乘加运算汇编程序BIT/TI22第四讲 汇编语言初步