备课3-2-1.pdf
文本预览下载声明
§3.4 COFF 的一般概念
• COFF:公共目标文件格式
• 汇编器和链接器所生成的目标文件,都
是COFF文件
• COFF的特点:
1、按照文本段和数据段编写汇编语言程序
2、汇编器命令和链接器命令都是对各种段进
行处理
3 、便于模块化编程和管理
第三章 汇编语言程序开发工具 1
COFF文件中的段
• 段(section)是以COFF文件中最重要的概念。
每个目标文件都分成若干个段。
• 段是在存储器图中占据相邻空间的代码或数据块
.text (此段通常包含可执行代码〕
.data (此段通常包含初始化数据〕
.bss (此段通常为未初始化变量保留存储空间)
• 此外,汇编器和链接器可以建立、命名和连接自
定义段(.sect 、.usect ).
自定义段是程序员自己定义的段,使用起来与.data、.text
以及.bss段类似。
它的好处是在目标文件中与.data、.text 以及.bss分开汇编,
链接时作为一个单独的部分分配到存储器。
第三章 汇编语言程序开发工具 2
段有两类
1、己初始化段
• 已初始化段中包含有数据或程序代码;
• .text段和.data段都是己初始化段;
• 用.sect汇编命令建立的自定义段也是己初始化段。
2 、未初始化段
• 在存储器图中,它为未初始化过的数据保留存储空
间;
• .bss段是未初始化段;
• 用汇编命令.usect建立的自定义段也是未初始化段。
第三章 汇编语言程序开发工具 3
段有两类(续)
• 汇编器——将各部分程序代码和数据连在一起,
形成OBJ文件。
• 链接器——将各个段重新定位到目标存储器。
第三章 汇编语言程序开发工具 4
未初始化段
.bss 符号,字数
符号 .usect “段名”, 字数
已初始化段
.text [段起点]
.data [段起点]
.sect “段名” [,段起点]
其中, 段起点是任选项。如果选用,它就是为段
程序计数器(SPC )定义的一个起始值。
第三章 汇编语言程序开发工具 5
段命令应用举例
.lst文件(部分) 由4个部分(列)组成:
第1部分(列)——源程序的行号;
第2部分(列)——段程序计数器;
第3部分(列)—— 目标代码;
第4部分(列)——源程序。
第三章 汇编语言程序开发工具 6
.lst文件举例
第三章 汇编语言程序开发工具 7
续上页
第三章
显示全部