4.子段 子段( Subsections)是大段中的小段。链接器 可以像处理段一样处理子段。采用子段可以使存 储器图更加紧密。子段的命名句法为: 基段名:子段名 子段也有两种,用sect命令建立的是已初始化段, 用. sect命令建立的是未初始化段
4.子段 ◼ 子段(Subsections)是大段中的小段。链接器 可以像处理段一样处理子段。采用子段可以使存 储器图更加紧密。子段的命名句法为: 基段名:子段名 ◼ 子段也有两种,用.sect命令建立的是已初始化段, 用.usect命令建立的是未初始化段
5.段程序计数器(SPC) 汇编器为每个段安排一个独立的程序计数器,即 段程序计数器(SPC)。SPC表示一个程序代码 段或数据段内的当前地址。开始时,汇编器将每 个SPC置0,当汇编器将程序代码或数据加到 个段内时,相应的SPC增加。如果汇编器再次遇 到相同段名的段,继续汇编至相应的段,且相应 的SPc在先前的基础上继续增加
5.段程序计数器(SPC) ◼ 汇编器为每个段安排一个独立的程序计数器,即 段程序计数器(SPC)。SPC表示一个程序代码 段或数据段内的当前地址。开始时,汇编器将每 个SPC置0,当汇编器将程序代码或数据加到一 个段内时,相应的SPC增加。如果汇编器再次遇 到相同段名的段,继续汇编至相应的段,且相应 的SPC在先前的基础上继续增加
Line Numbers Object Code Section 19 100f f010 20 0001 21 f842 21 0001 110a 37 f166 37 000a f868 0006 6664 data 0022 0033 0123 66 obb Occ 0033 No data- bss 10 words reserved No data- newvars eight words reserved 图5-3例5-1产生的目标代码 返回本
图5-3 例5-1产生的目标代码 返回本节
523链接器对段的处理 链接器对段的处理有两个功能。首先,它将汇编 器产生的cOFF目标文件(ob文件)中的各种段 作为输入段,当有多个文件进行链接时,它将输 入段组合起来,在可执行的 I COFF输出模块中建 立各个输出段。其次,链接器为输出段选择存储 器地址
5.2.3 链接器对段的处理 ◼ 链接器对段的处理有两个功能。首先,它将汇编 器产生的COFF目标文件(.obj文件)中的各种段 作为输入段,当有多个文件进行链接时,它将输 入段组合起来,在可执行的COFF输出模块中建 立各个输出段。其次,链接器为输出段选择存储 器地址
链接器有两个命令完成上述功能,即: MEMORY命令——定义目标系统的存储器配置 图,包括对存储器各部分的命名,以及规定它们 的起始地址和长度。 SECTIONS命令—告诉链接器如何将输入段组 合成输出段,以及在存储器何处存放输出段。子 段可以用来更精确地编排段,可用链接器 SECTIONS命令指定子段
◼ 链接器有两个命令完成上述功能,即: ◼ MEMORY 命令——定义目标系统的存储器配置 图,包括对存储器各部分的命名,以及规定它们 的起始地址和长度。 ◼ SECTIONS命令——告诉链接器如何将输入段组 合成输出段,以及在存储器何处存放输出段。子 段可以用来更精确地编排段,可用链接器 SECTIONS命令指定子段