第四章 汇编语言程序开发工具课件

上传人:我*** 文档编号:144716165 上传时间:2020-09-13 格式:PPT 页数:45 大小:767KB
返回 下载 相关 举报
第四章 汇编语言程序开发工具课件_第1页
第1页 / 共45页
第四章 汇编语言程序开发工具课件_第2页
第2页 / 共45页
第四章 汇编语言程序开发工具课件_第3页
第3页 / 共45页
第四章 汇编语言程序开发工具课件_第4页
第4页 / 共45页
第四章 汇编语言程序开发工具课件_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《第四章 汇编语言程序开发工具课件》由会员分享,可在线阅读,更多相关《第四章 汇编语言程序开发工具课件(45页珍藏版)》请在金锄头文库上搜索。

1、,1,第四章汇编语言程序开发工具,光电学院 乐燕芬 Le_,2,内容提要,可编程DSP芯片开发需要一套完整的软、硬件开发工具。通常可分成代码生成工具和代码调试工具两大类。 代码生成工具:将高级语言或汇编语言编写的DSP程序转换成可执行的DSP芯片目标代码的工具程序,主要包括汇编器、链接器和C编译器以及一些辅助工具程序等。 代码调试工具:包括C/汇编语言源码调试器、仿真器等。 本章主要介绍代码生成工具,包括C54x软件开发流程、汇编语言程序的编写、汇编和链接过程、COFF段的一般概念、汇编器和链接器处理段的方法以及程序的重定位等。,3,4-1 软件开发流程,选择编程语言编写源程序 汇编语言 C/

2、C+语言 选择开发工具和环境 非集成开发环境 集成开发环境CCS,4,C54X应用软件 开发流程,5,6,4-2 开发工具,TI公司提供的DSP开发环境和工具主要包括以下三个部分 代码生成工具 C编译器、汇编器、链接器、文档管理器 代码调试工具 C/汇编语言源码调试器、软件仿真器、初学者工具DSK 实时操作系统,7,4-3 汇编语言程序的编辑、汇编和链接过程,示意图,8,4-3 汇编语言程序的编辑、汇编和链接过程,编辑 汇编语言源程序可以在任何一种文本编辑器中进行 必须经过汇编和链接后才能运行 汇编 用汇编器ASM500,对一个或多个源程序分别进行汇编,并生成列表文件(.lst)和目标文件(.

3、obj) 常用的汇编命令 asm500 %1 s l x 链接 用链接器LNK500,根据链接器命令文件(.cmd)对一个或多个目标文件(.obj)进行链接,生成输出文件(.out)和存储器映像文件(.map) 常用的链接命令 lnk500 %1.cmd,%1:源文件名 -s: 将程序所有定义的符号放在目标文件的符号表中 -l: 生成一个列表文件.lst -x: 生成一个交叉汇编表,9,4-4 COFF文件,汇编器和链接器生成的目标文件,是一个可以由C54x器件执行的文件。该文件格式称之为公共目标文件格式(COFF,common object file format) 段(sections)

4、存储器中占据相邻空间的代码或数据块。 汇编器和链接器提供一些伪指令来建立和管理各种各样的段。 一个COFF文件包含的基本段: .text 段(文本段),通常包含可执行代码; .data 段(数据段),通常包含初始化数据; .bss 段(保留空间段),通常为未初始化变量保留存储空间,10,4-4 COFF文件,段 初始化段 包含有数据或程序代码。主要有: .text段已初始化段; .data段已初始化段; .sect段已初始化段,由汇编器伪指令建立的自定义段 未初始化段 在存储空间中,为未初始化数据保留存储空间 .bss段未初始化段; .usect段未初始化段,由汇编命令建立的命名段(自定义段)

5、,11,4-4 COFF文件,段与目标存储器的对应关系 汇编器的任务:根据汇编命令用适当的段将各部分程序代码和数据连在一起,构成目标文件。 链接器的任务:分配存储单元,将目标文件中的段重新定位到目标系统的存储器中,这一过程称为定位或分配。,12,4-4 COFF文件,未初始化段 这些段定义的空间仅作为临时存储空间,在程序运行时,可利用这些存储空间存放变量 .bss 符号, 字数 符号对应于保留的存储空间第一个字的变量名称。可以让其他段引用。也可以用.global命令定义为全局符号。 符号 .usect “段名”, 字数 段名程序员为未初始化的命名段定义的名字 .bss buffer,8 STA

6、CK .usect “stack”,1000,13,4-4 COFF文件,已初始化段 已初始化段中包含有可执行代码或初始化数据。 这些段中的内容都在目标文件中,当加载程序时再放到C54x的存储器中。 已初始化段由.text、.data和.sect三个伪指令建立。,14,4-4 COFF文件汇编器对段的处理,段程序计数器SPC 汇编器为每个段都安排了一个单独的程序计数器-SPC SPC表示在程序代码或数据段内当前的地址。开始时汇编器将每个SPC置0。当汇编器将程序代码或数据加到段内时,增加相应的SPC值。 链接器在链接时要对每个段进行重新定位。,15,4-4 COFF文件汇编器对段的处理,例:段

7、命令应用举例,汇编语言源程序,.data coeff .word 044h,055h,066h .bss buffer,8 prt .word 0456h .text add: LD 0Dh,A aloop:SUB #1,A BC aloop,AGEQ .data ivals .word 0CCh,0DDh,0EEh,;初始化数据段 ;3组数据放入.data段 ;在.bss段保留8个单元 ;0456h放入.data段 ;初始化文本段 ;1字指令 ;2字指令 ;2字指令,;初始化数据段 ;3组数据放入.data段,16,var2 .usect “newvars”,2 inbuf .usect “

8、newvars”,8 .text mpy: LD 0Ah,B mloop:MPY #0Ah,B BC mloop,BNOV .sect “vectors” .word 044h,088h,;建立newvars命名段,保留2个单元 ;在newvars段保留8个单元 ;初始化文本段 ;1字指令 ;2字指令 ;2字指令,;建立vectors命名段 ;2组数据放入vectors命名段,4-4 COFF文件汇编器对段的处理,17,经汇编后得列表文件(部分),2 * 3 * 汇编一个初始化表到.data段 * 4 * 5 0000 .data 6 0000 0044 coeff .word 044h,05

9、5h,066h 0001 0055 0002 0066 7 * 8 * 在.bss段中为变量保留空间 * 9 * 10 0000 .bss buffer,8 11 * 12 * 仍然在.data 段中 * 13 * 14 0003 0456 prt .word 0456h,4-4 COFF文件汇编器对段的处理,源程序的行号,SPC,目标代码,18,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

10、 aloop,AGEQ 0004 0001 22 * 23 * 汇编另一个初始化表到.data 段 * 24 * 25 0004 .data 26 0004 00cc ivals .word 0CCh,0DDh,0EEh 0005 00dd 0006 00ee 27 * 28 * 为更多的变量定义另一个段 * 29 * 30 0000 var2 .usect “newvars”,2 31 0001 inbuf .usect “newvars”,8,4-4 COFF文件汇编器对段的处理,19,32 * 33 * 汇编更多代码到.text段 * 34 * 35 0005 .text 36 0005

11、 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,4-4 COFF文件汇编器对段的处理,20,2 * 3 * 汇编一个初始化表到.data段 * 4 * 5 0000 .data 6 0000 0044 coeff .word 044h,055h,06

12、6h 0001 0055 0002 0066 7 * 8 * 在.bss段中为变量保留空间 * 9 * 10 0000 .bss buffer,8 11 * 12 * 仍然在.data 段中 * 13 * 14 0003 0456 prt .word 0456h,.data,6,0044,6,0055,6,0066,10,.bss,没有数据 保留8个字,14,0456,4-4 COFF文件汇编器对段的处理,21,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 .word 0CCh,0DDh,0EEh 0005 00dd 0006 00ee 27 * 28 * 为更多的变量定义另一个段 * 29 *

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号