DSP第4章编程.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DSP第4章编程

ADSP技术与应用 ——浮点SHARC系列 第4章 SHARC 系列DSP程序设计 4.1 概述 4.2 汇编语言程序设计 4.3 DSP的C程序设计 4.4 链接器和链接描述文件 4.1 程序开发概述 Visual DSP++-IDDE的用户界面 SHARC DSP开发工具和流程 IDDE: 输出文件 IDDE: 编辑器 IDDE: 编辑器的特点 编辑器能够完成 自动识别关键字 自动识别注释等 支持标准的编辑操作 查找和替换 剪切和复制 选择等 可以设置不同的颜色区分关键字等 支持OLE拖拉 支持书签 4.2 汇编语言程序设计 汇编语言程序特点 代数化语言 容易理解和学习 可读性好 编译器支持伪指令 传统的结构 数据定义具有高级语言特点 预处理器处理宏 C的预处理器-类似的工具 汇编语言程序结构 通过SECTION组织程序 4.1.1 标识符和运算符 标识符(名称)必须以 26个大小写英文字母和下划线’_’开始; 可以包括0~9的数字符号; 大小写字母代表不同含义; 编译器使用的保留字是不能用于命名 编译器的保留关键字 编译器的保留关键字(续) 表达式 汇编表达式与 C类似,如: 2.8e-3, +l.67, (120-32)/3, 0x47&0x7F 运算符及其含义 4.1.2 预处理伪指令 SHARC系列的汇编器包括一个能处理某些C语言形式的伪指令和宏的预处理器,这些伪指令包括(必须小写): #define #undef #if #endif #else #elif #ifdef #if defined #ifndef #include 预处理伪指令例子 文件包含命令 #include private_header_file #include system_header_file 宏用于条件汇编控制 #define DEBUG #ifdef DEBUG // 如果DEBUG已定义,编译此段 #endif 宏替换 -符号常数 #define N 10 .var a[N]; #define arg(j) dm(i5+j) ar = arg(4); ? ar = dm(i5+4); 定义和使用宏(Macro) 例1 定义: #define mac mrf=mrf+R2*R5 使用: R2=Rl - R3; R5=DM(I0,M0); mac ; 宏定义必须在一行内写完,超过一行时,在行末加续行标志“\”, 例2 #define copy(src,dest)\ R0=DM(src);\ PM(dest)=R0 语句copy(0X3f,0XC0),将3f地址的值拷贝到C0地址 Include伪指令 include有两种形式: #include“文件名” 在当前和指定途径中搜索指定文件 #include 文件名 仅在指定途径中搜索指定文件 def21060.h 是很重要的头文件,它包含了对ADSP2106X中大量寄存器、位段、初始化值、I/O地址等惯用名称的定义 4.1.3 汇编伪指令 汇编伪指令经汇编器处理后不产生代码,它们都以“.”打头: .SECTION 标记段的起始 .ENDSEG 标记段的结束 .VAR 定义变量或缓冲 .PRECISION=32/40 定义浮点精度,32 bit为默认 .ROUND=ZERO 浮点常数取整方法:向零取近似 .ROUND_MINUS 浮点常数取整方法:负向取近似 .ROUND_PLUS 浮点常数取整方法:正向取近似 汇编伪指令(续) .ROUND_NEAREST 浮点常数取整方法:取最接近值(默认) .PORT 定义存储器映射的I/O口 .GLOBAL 使一个符号全局化(其它文件可用) .EXTERN 使一个符号外部化(由其它文件定义) .NEWPAGE 在列表文件中(.lst)开启新页 SECTION伪指令 程序的每一部分都应该有一个有名段(named section) 在汇编语言中指明 编译器有默认的段名称

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档