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