DSP精讲课件第4章汇编语言程序开发工具.ppt
《DSP精讲课件第4章汇编语言程序开发工具.ppt》由会员分享,可在线阅读,更多相关《DSP精讲课件第4章汇编语言程序开发工具.ppt(31页珍藏版)》请在三一文库上搜索。
1、2019年9月1日,DSP原理及应用,1,第4章 汇编语言程序开发工具,4.1 TMS320C54x软件开发过程 4.2 汇编语言程序的编辑、汇编和链接过程 4.3 COFF的一般概念 4.4 源程序的汇编 4.5 链接器的使用,2019年9月1日,DSP原理及应用,2,第4章 汇编语言程序开发工具,4.1 TMS320C54x软件开发过程,C54x的应用软件开发主要完成以下工作: (1) 选择编程语言编写源程序 C54x提供2种编程语言,即汇编语言和C/C+语言。 对于完成一般功能的代码,这两种语言都可使用,但对于一些运算量很大的关键代码,最好采用汇编语言来完成,以提高程序的运算效率。 (2
2、) 选择开发工具和环境 C54x提供了两种开发环境。即非集成开发环境和集成开发环境CCS。,2019年9月1日,DSP原理及应用,3,第4章 汇编语言程序开发工具,4.2 汇编语言程序的编辑、汇编和链接过程,示意图,2019年9月1日,DSP原理及应用,4,第4章 汇编语言程序开发工具,4.3 COFF的一般概念,汇编器和链接器生成的目标文件,是一个可以由C54x器件执行的文件。这些目标文件的格式称之为公共目标文件格式(COFF)。,在编写汇编语言程序时,COFF采用代码段和数据段的形式,以便于模块化的编程,使编程和管理变得更加方便。 这些代码段和数据段简称为段。汇编器和链接器提供一些伪指令来
3、建立和管理各种各样的段。,2019年9月1日,DSP原理及应用,5,第4章 汇编语言程序开发工具,4.3.1 COFF文件的基本单元,1. 段(sections),段是存储器中占据相邻空间的代码或数据块。一个目标文件中的每个段都是分开的和各不相同的。,COFF目标文件都包含以下3种形式的段: .text 段(文本段),通常包含可执行代码; .data 段(数据段),通常包含初始化数据; .bss 段(保留空间段),通常为未初始化变量保留存储空间。,2019年9月1日,DSP原理及应用,6,第4章 汇编语言程序开发工具,4.3.1 COFF文件的基本单元,2. 段的基本类型,COFF目标文件中的
4、段有两种基本类型。, 初始化段 未初始化段,(1) 初始化段,初始化段中包含有数据或程序代码。主要有: .text段已初始化段; .data段已初始化段; .sect段已初始化段,由汇编器伪指令建立 的自定义段。,2019年9月1日,DSP原理及应用,7,第4章 汇编语言程序开发工具,4.3.1 COFF文件的基本单元,2. 段的基本类型,(2) 未初始化段,在存储空间中,为未初始化数据保留存储空间。 它包括: .bss段未初始化段; .usect段未初始化段,由汇编命令建立的命 名段(自定义段)。,2019年9月1日,DSP原理及应用,8,第4章 汇编语言程序开发工具,3. 段与目标存储器的
5、对应关系,目标文件中的段与目标存储器之间的关系,.bss,.data,.text,RAM,E2PROM,ROM,2019年9月1日,DSP原理及应用,9,第4章 汇编语言程序开发工具,(1) .bss伪指令,1. 未初始化段,用于在bss段中保留若干个空间。 格式: .bss 符号, 字数,符号对应于保留的存储空间第一个字的变量名称。 可以让其他段引用,也可以用.global命令定义为全 局符号。,字数表示在bss段或标有名字的段中保留若干个存储单元。,2019年9月1日,DSP原理及应用,10,第4章 汇编语言程序开发工具,1. 未初始化段,(2) .usect伪指令,用于为指定的命名段保留
6、若干个空间。 格式: 符号 .usect “段名”, 字数,段名程序员为未初始化的命名段定义的名字。,2019年9月1日,DSP原理及应用,11,第4章 汇编语言程序开发工具,已初始化命令的句法:,2. 已初始化段,.text 段起点 .data 段起点 .sect “段名”,段起点,段起点是任选项。 若选用,它为段程序计数器SPC定义一个起始值。 若默认,则SPC从0开始。,2019年9月1日,DSP原理及应用,12,第4章 汇编语言程序开发工具,4.3.2 汇编器对段的处理,命名段由用户指定,与默认的.text,.data和.bss段的使用相同,但它们被分开汇编。 可用.usect和.se
7、ct两个伪指令产生命名段。,3. 命名段(自定义段),2019年9月1日,DSP原理及应用,13,第4章 汇编语言程序开发工具,.usect伪指令产生类似.bss的段,为变量在RAM中保留存储空间。 .sect伪指令产生类似.text和.data的段,可以包含代码或数据。.sect伪指令产生可重新定位地址的命名段。,3. 命名段,产生命名段伪指令格式:,符号 .usect “段名”,字数 .sect “段名”,可以产生多达32767个不同的命名段。段名可长达200个字符。,2019年9月1日,DSP原理及应用,14,第4章 汇编语言程序开发工具,经汇编后,得列表文件(部分):,2 * 3 *
8、汇编一个初始化表到.data段 * 4 * 5 0000 .data 6 0000 0044 coeff .word 044h,055h,066h 0001 0055 0002 0066 7 * 8 * 在.bss段中为变量保留空间 * 9 * 10 0000 .bss buffer,8 11 * 12 * 仍然在.data 段中 * 13 * 14 0003 0456 prt .word 0456h,5 0000 .data,6 0000 0044 coeff .word 044h,055h,066h,10 0000 .bss buffer,8,14 0003 0456 prt .word
9、0456h,.data,0044,0055,0066,.bss,没有数据 保留8个字,0456,2019年9月1日,DSP原理及应用,15,第4章 汇编语言程序开发工具,15 * 16 * 汇编代码到.text段 * 17 * 18 0000 .text 19 0000 100d add: LD 0Dh,A 20 0001 f010 aloop: SUB #1, A 0002 0001 21 0003 f842 BC aloop,AGEQ 0004 0001 22 * 23 * 汇编另一个初始化表到.data 段 * 24 * 25 0004 .data 26 0004 00cc ivals
10、.word 0CCh,0DDh,0EEh 0005 00dd 0006 00ee 27 * 28 * 为更多的变量定义另一个段 * 29 * 30 0000 var2 .usect “newvars”,2 31 0001 inbuf .usect “newvars”,8,.text,18 0000 .text,19 0000 100d add: LD 0Dh,A,100d,20 0001 f010 aloop: SUB #1, A,f010,0001,21 0003 f842 BC aloop,AGEQ,f842,0001,25 0004 .data,26 0004 00cc ivals .w
11、ord 0CCh,0DDh,0EEh,.data,00cc,00dd,00ee,30 0000 var2 .usect “newvars”,2,newvars,保留2个字,31 0001 inbuf .usect “newvars”,8,保留8个字,2019年9月1日,DSP原理及应用,16,第4章 汇编语言程序开发工具,32 * 33 * 汇编更多代码到.text段 * 34 * 35 0005 .text 36 0005 110a mpy: LD 0Ah,B 37 0006 f166 mloop MPY #0Ah,B 0007 000a 38 0008 f868 BC mloop,BNOV
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DSP 课件 汇编语言 程序 开发 工具
链接地址:https://www.31doc.com/p-3480244.html