xihongda 发表于 2008-2-26 18:55:52

什么叫绝对地址?什么叫相对地址?

我在马老师的书上,看到绝对地址和相对地址两个词,不明白,请教大家,好像是叫绝对和相对路径

ifree64 发表于 2008-2-26 19:52:00

假设PC=0x1000, 现在 PC <--- 0x1200 ,这个0x1200就是绝对地址;如果是 PC + 0x20 这个020就是相对地址。

machao 发表于 2008-2-28 15:27:26

绝对和相对路径是PC中文件目录结构中用的.绝对地址和相对地址在汇编中经常出现.关键是理解什么是绝对,什么是相对.

举个简单的例子:

在一个队伍中,从头开始你排在15位,这就是绝对位置,指从头开始.
如果前9个是女生,第10位开始为男生.那么你就是从男生开始的第5位,这个5就是相对位置.

在汇编中有绝对跳转和相对跳转指令.绝对跳转指令中给出的是绝对地址,也就是从0000H开始算起的地址.而相对跳转的指令中是相对地址,是说相对跳转指令本身所在地址加上一个(偏移)量.

如果转移指令在10的位置,要转移执行15位置的指令:可以使用

绝对转移:JMP 15      =======>这里的15是绝对地址,从0开始算.
相对转移:JNE 5       =======>这里的5时相对地址,相对JNE的位置,加5.而JNE在第10个,加上5为15,同上一句相同都是跳转到15的位置执行了.

zelos 发表于 2008-3-5 00:51:02

也就是说绝对地址是相对于地址0x0000的偏移量.而相对地址上相对于当前执行指令地址量来说的.
页: [1]
查看完整版本: 什么叫绝对地址?什么叫相对地址?