注册 登录
编程论坛 汇编论坛

加载地址求解

zylinux 发布于 2011-06-12 21:53, 417 次点击
对于程序的运行地址我的概念是,一些指令的编译时靠运行地址计算指令偏移等,加载指令网上的解释是加载时候的地址,本人不是很明白,我的理解加载地址就是bin文件的偏移地址。比如一个加载地址是2048,我的理解就是程序段可以靠指定加载地址放在2048的位置。我的理解是否对?请高手指点。本人qq是67470988
3 回复
#2
zklhp2011-06-13 17:48
比如一个加载地址是2048,我的理解就是程序段可以靠指定加载地址放在2048的位置

我觉得差不多就这个意思

加载地址就是bin文件的偏移地址

这个貌似不对罢 文件偏移地址 是嘛啊
#3
zylinux2011-06-13 20:57
这样一个脚本 连接脚本
SECTIONS{
    first 0x00000000 : {head.o init.o}
    second 0xB0004000 : AT(2048) {leds.o}
}
这个脚本能解释下吗? 书上的解释是,“加载地址为 2048,在运行前需要将它复制到地址0xB0004000处。”
我的理解就是把bin文件里面偏移2048的程序加载到0xB0004000处?
#4
zklhp2011-06-13 22:43
以下是引用zylinux在2011-6-13 20:57:09的发言:

这样一个脚本 连接脚本
SECTIONS{
    first 0x00000000 : {head.o init.o}
    second 0xB0004000 : AT(2048) {leds.o}
}
这个脚本能解释下吗? 书上的解释是,“加载地址为 2048,在运行前需要将它复制到地址0xB0004000处。”
我的理解就是把bin文件里面偏移2048的程序加载到0xB0004000处?

这个不懂

编译原理?
1