链接命令文件(.cmd)解析

汇编器对段的处理是通过段伪指令来区别各个段,并将段名相同的语句汇编在一起。

预备知识:链接器的主要任务是:根据链接命令文件(.cmd文件)将一个或多个COFF目标文件链接起来,生成存储器映像文件(.map)和可执行文件(.out)(COFF目标模块)

-c //不区分大小写
-h//不太重要
test.obj//输入的目标文件
-m test.map //指定生成的存储器映像文件
-l rts.lib
-stack 0x800//栈首地址?

MEMORY //用来定义目标系统的存储器配置空间,包括对存储器各部分命名,以及规定它们的起始地址和长度
{//PAGE0~PAGEn n最大为255

   PAGE 0:  PROG命名:    origin =  080h, length = 4000h//16k rom
           
   PAGE 1:  DATA命名:    origin =  1000h, length = 4000h//16k ram
        
}

SECTIONS//此命令告诉链接器如何将输入段组合成输出段,以及将输出段放在存储器中的什么位置
{    vect   > 80h PAGE 0
   .text   > PROG PAGE 0//将.text段定位到PAGE 0
   .cinit  > PROG PAGE 0
   .switch > PROG PAGE 0

   .data   > DATA PAGE 1
   .const  > DATA PAGE 1
   .bss    > DATA PAGE 1
   .sysmem > DATA PAGE 1
   .stack  > DATA  PAGE 1
}

//以上的.text.bss.data.stack等列出的是输出段,和它定位到存储器的某个区域(PROG/DATA)。

//SECTIONS命令中一般不列出每个输入文件的输入段

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值