DSP精讲汇编语言程序开发工具.pptx
《DSP精讲汇编语言程序开发工具.pptx》由会员分享,可在线阅读,更多相关《DSP精讲汇编语言程序开发工具.pptx(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2023年3月23日1第第第第第第4 4 4 44 4章章章章章章 汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具4.2 4.2 汇编语言程序的编辑、汇编和链接过程 示意图示意图示意图示意图汇编器汇编器调试程序调试程序链接器链接器文本编辑器文本编辑器.asm源文件.obj目标文件.out输出文件.cmd链接命令文件.lst列表文件.map存储器映像文件十六进制十六进制转换程序转换程序HEX500HEX500-o-m-l第1页/共30页2023年3月23日2第第第第第第4 4 4 44 4章章章章章章 汇编语言程序开发工具
2、汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具4.34.3 COFFCOFF的一般概念 汇编器和链接器生成的目标文件,是一个可以由汇编器和链接器生成的目标文件,是一个可以由汇编器和链接器生成的目标文件,是一个可以由汇编器和链接器生成的目标文件,是一个可以由 C54xC54xC54xC54x器件执行的文件。这些目标文件的格式称之为器件执行的文件。这些目标文件的格式称之为器件执行的文件。这些目标文件的格式称之为器件执行的文件。这些目标文件的格式称之为公共目标文件格式公共目标文件格式公共目标文件格式公共目标文件格式(COFF)COFF)COFF)
3、COFF)。在编写汇编语言程序时,在编写汇编语言程序时,在编写汇编语言程序时,在编写汇编语言程序时,COFFCOFFCOFFCOFF采用代码段和数据采用代码段和数据采用代码段和数据采用代码段和数据段的形式,以便于模块化的编程,使编程和管理变得段的形式,以便于模块化的编程,使编程和管理变得段的形式,以便于模块化的编程,使编程和管理变得段的形式,以便于模块化的编程,使编程和管理变得更加方便。更加方便。更加方便。更加方便。这些代码段和数据段简称为段。汇编器和链接器这些代码段和数据段简称为段。汇编器和链接器这些代码段和数据段简称为段。汇编器和链接器这些代码段和数据段简称为段。汇编器和链接器提供一些伪指
4、令来建立和管理各种各样的段。提供一些伪指令来建立和管理各种各样的段。提供一些伪指令来建立和管理各种各样的段。提供一些伪指令来建立和管理各种各样的段。第2页/共30页2023年3月23日3第第第第第第4 4 4 44 4章章章章章章 汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具4.3.14.3.14.3.14.3.1 COFFCOFFCOFFCOFF文件的基本单元文件的基本单元文件的基本单元文件的基本单元 1.1.1.1.段段段段(sections)sections)sections)sections)段段是存储器中占据
5、相邻空间的代码或数据块。是存储器中占据相邻空间的代码或数据块。一个目标文件中的每个段都是分开的和各不相同的。一个目标文件中的每个段都是分开的和各不相同的。COFFCOFFCOFFCOFF目标文件都包含以下目标文件都包含以下3 3 3 3种形式的段:种形式的段:.texttexttexttext 段段(文本段文本段),通常包含可执行代码;,通常包含可执行代码;.data .data .data .data 段段(数据段数据段),通常包含初始化数据;,通常包含初始化数据;.bss .bss .bss .bss 段段(保留空间段保留空间段),通常为未初始化变量保留存储空间。,通常为未初始化变量保留存
6、储空间。第3页/共30页2023年3月23日4第第第第第第4 4 4 44 4章章章章章章 汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具4.3.14.3.14.3.14.3.1 COFFCOFFCOFFCOFF文件的基本单元文件的基本单元文件的基本单元文件的基本单元 2.2.2.2.段的基本类型段的基本类型段的基本类型段的基本类型 COFFCOFFCOFFCOFF目标文件中的段有两种基本类型。目标文件中的段有两种基本类型。初始化段初始化段初始化段初始化段 未未未未初始化段初始化段初始化段初始化段(1)(1)(1)(1)
7、初始化段初始化段初始化段初始化段 初始化段中包含有数据或程序代码。主要有:初始化段中包含有数据或程序代码。主要有:.texttexttexttext段段已初始化段;已初始化段;.datadatadatadata段段已初始化段;已初始化段;.sectsectsectsect段段已初始化段,由汇编器伪指令建立已初始化段,由汇编器伪指令建立 的自定义段。的自定义段。第4页/共30页2023年3月23日5第第第第第第4 4 4 44 4章章章章章章 汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具4.3.14.3.14.3.14.
8、3.1 COFFCOFFCOFFCOFF文件的基本单元文件的基本单元文件的基本单元文件的基本单元 2.2.2.2.段的基本类型段的基本类型段的基本类型段的基本类型 (2)(2)(2)(2)未初始化段未初始化段未初始化段未初始化段 在存储空间中,为未初始化数据保留存储空间。在存储空间中,为未初始化数据保留存储空间。它包括:它包括:.bssbss段段未初始化段;未初始化段;.usectusect段段未初始化段,由汇编命令建立的命未初始化段,由汇编命令建立的命 名段(自定义段)。名段(自定义段)。第5页/共30页2023年3月23日6第第第第第第4 4 4 44 4章章章章章章 汇编语言程序开发工具
9、汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具3.3.3.3.段与目标存储器的对应关系段与目标存储器的对应关系段与目标存储器的对应关系段与目标存储器的对应关系目标文件中的段与目标存储器之间的关系目标文件中的段与目标存储器之间的关系 目标文件目标存储器.bss.data.textRAME2PROMROM第6页/共30页2023年3月23日7第第第第第第4 4 4 44 4章章章章章章 汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具(1)(1)(1)(1).bssbssb
10、ssbss伪指令伪指令1.1.1.1.未初始化段未初始化段未初始化段未初始化段 用于用于在在bssbssbssbss段中保留若干个空间。段中保留若干个空间。格式:格式:.bssbss 符号,符号,字数字数符号符号对应于保留的存储空间第一个字的变量名称。对应于保留的存储空间第一个字的变量名称。可以让其他段引用,也可以用可以让其他段引用,也可以用.globalglobalglobalglobal命令定义为全命令定义为全 局符号。局符号。字数字数表示在表示在bssbssbssbss段或标有名字的段中保留若干个存储单元。段或标有名字的段中保留若干个存储单元。第7页/共30页2023年3月23日8第第第
11、第第第4 4 4 44 4章章章章章章 汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具1.1.1.1.未初始化段未初始化段未初始化段未初始化段 (2)(2)(2)(2).usectusectusectusect伪指令伪指令 用于为指定的命名段保留若干个空间。用于为指定的命名段保留若干个空间。格式:格式:符号符号 .usect usect “段名段名”,字数字数段名段名程序员为未初始化的命名段定义的名字。程序员为未初始化的命名段定义的名字。第8页/共30页2023年3月23日9第第第第第第4 4 4 44 4章章章章章章
12、汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具 已初始化命令的句法:已初始化命令的句法:2.2.2.2.已初始化段已初始化段已初始化段已初始化段 .texttext 段起点段起点 .datadata 段起点段起点 .sectsect “段名段名”,段起点段起点 段起点段起点是任选项。是任选项。若选用,它为段程序计数器若选用,它为段程序计数器SPCSPCSPCSPC定义一个起始值。定义一个起始值。若默认,则若默认,则SPCSPCSPCSPC从从0 0 0 0开始。开始。第9页/共30页2023年3月23日10第第第第第第4
13、 4 4 44 4章章章章章章 汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具4.3.24.3.24.3.24.3.2 汇编器对段的处理汇编器对段的处理汇编器对段的处理汇编器对段的处理 命名段由用户指定,与默认的命名段由用户指定,与默认的.texttexttexttext,.data.data.data.data和和.bssbssbssbss段的使用相同,但它们被分开汇编。段的使用相同,但它们被分开汇编。可用可用.usectusectusectusect和和.sectsectsectsect两个伪指令产生命名段。两个伪指
14、令产生命名段。3.3.3.3.命名段(自定义段)命名段(自定义段)命名段(自定义段)命名段(自定义段)第10页/共30页2023年3月23日11第第第第第第4 4 4 44 4章章章章章章 汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具 .usectusectusectusect伪指令产生类似伪指令产生类似.bssbssbssbss的段,为变量在的段,为变量在RAMRAMRAMRAM中保留存储空间。中保留存储空间。.sectsectsectsect伪指令产生类似伪指令产生类似.texttexttexttext和和.dat
15、adatadatadata的段,可以的段,可以包含代码或数据。包含代码或数据。.sectsectsectsect伪指令产生可重新定位地址伪指令产生可重新定位地址的命名段。的命名段。3.3.3.3.命名段命名段命名段命名段 产生命名段伪指令格式:产生命名段伪指令格式:符号符号 .usectusect “段名段名”,字数,字数 .sectsect “段名段名”可以产生多达可以产生多达32767327673276732767个不同的命名段。段名可长个不同的命名段。段名可长达达200200200200个字符。个字符。第11页/共30页2023年3月23日12第第第第第第4 4 4 44 4章章章章章章
16、 汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具经汇编后,得列表文件(部分):经汇编后,得列表文件(部分):2 *2 *3 3 *汇编一个初始化表到汇编一个初始化表到.datadata段段*4 4 *5 5 0000 .data0000 .data6 0000 0044 coeff .word 044h,055h,066h 6 0000 0044 coeff .word 044h,055h,066h 0001 0055 0001 0055 0002 0066 0002 00667 *7 *8 *8 *在在.bssbss段
17、中为变量保留空间段中为变量保留空间*9 *9 *10 0000 .bss buffer10 0000 .bss buffer,8 811 *11 *12 *12 *仍然在仍然在.data data 段中段中 *1313 *14 0003 0456 prt 14 0003 0456 prt .word 0456hword 0456h目标代码目标代码目标代码目标代码 段名段名段名段名100100d df010f01000010001f842f84200010001110a110af166f166000a000aF868F868000600060044004400550055006600660456
18、04560000cccc00dd00dd00ee00ee0044004400880088 没有数据没有数据保留保留1010个个字字5 5 0000 .data0000 .data6 0000 0044 coeff .word 044h,055h,066h6 0000 0044 coeff .word 044h,055h,066h10 0000 .bss buffer10 0000 .bss buffer,8 814 0003 0456 prt 14 0003 0456 prt .word 0456hword 0456h.datadatadatadata 00440044004400440055
19、0055005500550066006600660066.bssbssbssbss 没有数据没有数据没有数据没有数据保留保留保留保留8 8 8 8个字个字个字个字0456045604560456第12页/共30页2023年3月23日13第第第第第第4 4 4 44 4章章章章章章 汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具15 *15 *16 *16 *汇编代码到汇编代码到.texttext段段 *1717 *18 0000 .text18 0000 .text19 0000 100d add19 0000 100d
20、 add:LD 0Dh LD 0Dh,A A20 0001 f010 aloop20 0001 f010 aloop:SUB#1SUB#1,A A 0002 0001 0002 0001 21 21 0003 0003 f842 BC aloopf842 BC aloop,AGEQAGEQ 0004 00010004 0001 22 *22 *23 *23 *汇编另一个初始化表到汇编另一个初始化表到.data data 段段*24 *24 *25 0004 25 0004 .data data 26 0004 00cc ivals 26 0004 00cc ivals .word 0CChwo
21、rd 0CCh,0DDh0DDh,0EEh 0EEh 0005 00dd 0005 00dd 0006 00ee 0006 00ee27 *27 *28 28 *为更多的变量定义另一个段为更多的变量定义另一个段 *29 *29 *30 0000 var2 30 0000 var2 .usect usect “newvarsnewvars”,2 2 31 0001 inbuf 31 0001 inbuf .usect usect “newvarsnewvars”,8 8 目标代码目标代码目标代码目标代码段名段名段名段名100100d df010f01000010001f842f842000100
22、01110a110af166f166000a000aF868F8680006000600440044004400440055005500550055006600660066006604560456045604560000cccc00dd00dd00ee00ee.datadatadatadata0044004400880088 没有数据没有数据没有数据没有数据保留保留保留保留8 8 8 8个字个字个字个字.bssbssbssbss没有数据没有数据保留保留1010个字个字.texttexttexttext 18 0000 .text18 0000 .text19 0000 100d add19 0
23、000 100d add:LD 0Dh LD 0Dh,A A100d100d100d100d20 0001 f010 aloop20 0001 f010 aloop:SUB#1SUB#1,A Af010f010f010f010000100010001000121 21 0003 0003 f842 BC aloopf842 BC aloop,AGEQAGEQf842f842f842f842000100010001000125 0004 25 0004 .datadata26 0004 00cc ivals 26 0004 00cc ivals .word 0CChword 0CCh,0DDh0
24、DDh,0EEh0EEh.datadatadatadata 00cc00cc00cc00cc00cc00cc00dd00dd00dd00dd00dd00dd00ee00ee00ee00ee00ee00ee30 0000 var2 30 0000 var2 .usect usect “newvarsnewvars”,2 2newvarsnewvarsnewvarsnewvars 保留保留保留保留保留保留2 2 2 22 2个字个字个字个字个字个字31 0001 inbuf 31 0001 inbuf .usect usect “newvarsnewvars”,8 8保留保留保留保留保留保留8 8
25、 8 88 8个字个字个字个字个字个字第13页/共30页2023年3月23日14第第第第第第4 4 4 44 4章章章章章章 汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具汇编语言程序开发工具32 32 *33 33 *汇编更多代码到汇编更多代码到.texttext段段 *3434 *35 0005 35 0005 .text text 36 0005 110a mpy36 0005 110a mpy:LD 0Ah LD 0Ah,B B 37 37 0006 f166 mloop MPY#0Ah0006 f166 mloop MPY#0Ah
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DSP 汇编语言 程序 开发 工具
限制150内