欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    DSP技术与应用线性汇编语言简介.ppt

    • 资源ID:6504744       资源大小:221.99KB        全文页数:21页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    DSP技术与应用线性汇编语言简介.ppt

    DSP技术与应用线性汇编语言简介,线性汇编语言简介,汇编代码结构线性汇编语言简介,汇编代码结构,Label:parallel bars condition instruction unit operands;comments(1)Label标号 标号用来定义一行代码或一个变量,它代表一条指令或数据的存储地址,标号后面的冒号是可选的。a标号的第1个字符必须是字母或下划线”_”跟一个字母;b标号的第1个字符必须在文件的第1列;c标号最多可包含32个字母字符;d并行指令不能使用标号。(2)Parallel bars 并行符号|,汇编代码结构,Label:parallel bars condition instruction unit operands;comments(3)condition条件A 如果指令没有指出条件,指令总被执行;B 如果给定条件,当条件为真,指令执行;C 如果给定条件,当条件为假,指令不执行。如A1 A1!=0 A1=0!A1 A1=0 A1!=0,汇编代码结构,Label:parallel bars condition instruction unit operands;comments4 instruction指令 汇编代码指令包括伪指令和命令助记符 A 伪指令用来在汇编语言中控制汇编过程或定义数据结构。所有伪指令都以圆点打头。如:.sect“name”.double value.float value.byte valueB 命令助记符代表有效微处理器命令,它执行程序操作。,汇编代码结构,Label:parallel bars condition instruction unit operands;commentsUint 功能单元C6000有8个功能单元,每个功能单元有两种类型。功能单元以“.”开始,后面跟一个功能单元分类符。.S1.S2.L1.L2.M1.M2.D1.D2 另有交叉通道 如.L1X,汇编代码结构,Label:parallel bars condition instruction unit operands;comments6 operands操作数操作数由常数、符号以及常数与符号构成的表达式组成。操作数之间必须用逗号隔开。7 comments注释;注释可以再任何一列开始*注释必须在第一列开始,线性汇编语言简介,线性汇编语句的基本结构线性汇编中的伪指令线性汇编资源安排C代码转换为线性汇编,线性汇编语句的基本结构,基本格式与汇编语言相同,必须是ASCII码文件,扩展名必须是”.sa”,用作汇编优化器的输入文件Label:|register mnemonic unit specifier operand list;commend,线性汇编中的伪指令,1、调用一个函数.call ret_reg=func_name(arg1,arg2)(仅在过程procedure)内有效2、定义一个可被汇编优化器优化,而且可被C/C+当做函数调用的线性汇编代码段的伪指令。label.cproc vari1,vari2,起始.endproc 结束3、定义一个可被汇编优化器优化的线性汇编代码段的伪指令。label.proc vari1,vari2,起始.endproc 结束,线性汇编中的伪指令,4、表明存储器地址相关与不相关的伪指令.mdepsymbol1,symbol2 1,2相关.no_mdep 其后定义的函数段内存储器地址不相关5、定义变量,或者说描述存入寄存器的数值变量的伪指令:.reg variable1,variable2,6、过程的返回值.return argument7、指出循环迭代次数的伪指令 label.trip minimum value,线性汇编资源安排,读取指令(LDH)必须使用.D单元乘法指令(MPY)必须使用.M单元加法指令(ADD)必须使用.L单元减法指令(SUB)必须使用.S单元跳转指令(B)必须使用.S单元,C代码转换为线性汇编,short DP(short*m,short*n,short count)short i;short product;short sum=0;for(i=0;icount;i+)product=mi*ni;sum+=product;return(sum);,C代码转换为线性汇编,第一步:定义函数名称、实现参数传递 short DP(short*m,short*n,short count).def _DP _DP.cproc cptr0,cptr1,vptr1).def为definition的缩写2).cproc表示本函数是C可调用函数,其后为所传递的参数,C代码转换为线性汇编,第二步:暂时存放临时数据的寄存器定名,由.reg(register)完成.reg addr_a,addr_x.reg m,n.reg product,sum,C代码转换为线性汇编,第三步,数据初始化 MV cptr0,addr_a MV cptr1,addr_x ZERO sum 前两句将数组a 和x 的首地址存入名为addr_a和addr_x的寄存器变量,以便其后实现对数组的访问;最后一句是累加寄存器清零。,C代码转换为线性汇编,第四步处理程序的循环体部分 定义一个标号loop:作为循环返回的标志;然后按照原C程序语句顺序改写成汇编语句(不必指定指令执行的功能单元):product=mi*ni;改写 LDH*addr_a+,m LDH*addr_x+,n MPY m,n,product sum+=product;改写为 ADD sum,product,sum,C代码转换为线性汇编,将循环变量vptr(即count)减一;利用C6x指令的条件执行功能通过对vptr是否为零的判断条件执行跳转指令:if(vptr!=0)then B loop最后,.return实现数据的返回。一切工作完成后,使用.endproc作为函数结束的标志。,C代码转换为线性汇编,.def _DP _DP.cproc cptr0,cptr1,vptr.reg addr_a,addr_x.reg m,n.reg product,sum MV cptr0,addr_a MV cptr1,addr_x ZERO sum loop:LDH*addr_a+,m LDH*addr_x+,n MPY m,n,product ADD sum,product,sum SUB vptr,1,vptr vptr B loop.return sum.endproc,C代码转换为线性汇编,short DP(short*m,short*n,short count)short i;int pro_h,pro_l;int sum_h=0;int sum_l=0;int sum=0;int*data_a=(int*)m;int*data_x=(int*)n;count=count 1;for(i=0;icount;i+)pro_l=_mpy(data_ai,data_xi);pro_h=_mpyh(data_ai,data_xi);sum_l+=pro_l;sum_h+=pro_h;sum=sum_l+sum_h;return(sum);,.def _DP _DP.cproc cptr0,cptr1,vptr.reg addr_a,addr_x.reg product0,product1,sum0,sum1.reg m,n MV cptr0,addr_a MV cptr1,addr_x ZERO sum0 ZERO sum1 SHR vptr,1,vptr loop:LDW*addr_a+,m LDW*addr_x+,n MPY m,n,product0 MPYH m,n,product1 ADD sum0,product0,sum0 ADD sum1,product1,sum1 SUB vptr,1,vptr vptr B loop ADD sum0,sum1,sum0.return sum0.endproc,

    注意事项

    本文(DSP技术与应用线性汇编语言简介.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开