汇编语言中的偏移地址是什么意思?

2025-04-24 20:42:14
推荐回答(2个)
回答1:

举个例子,你要告诉别人你藏的东西埋在树林里哪个地方,会这么说:
从这儿过去,第5棵大树再向前2米。
这里,“第5棵大树”是一个粗的框架,“向前2米”则是在这个框架内以框架为基准的一个偏移量。
8086/8088
cpu
访问内存时,内存地址由两个十六位的二进制数构成,即:段地址+偏移地址。
段地址就是上面例子中的框架,偏移地址就是框架内相对框架基准的一个局部偏移量。
“段地址+偏移地址”这种地址表示方式,称为逻辑地址表示。若要转换成真实的内存物理地址,方法是:段地址x16+偏移地址。
8086/8088中之所以要用逻辑地址,是因为物理地址的长度(20位)超过了处理器的字长(16位),无法一次完整表示,不得不分成两部分。同时这样处理还带来了可以方便程序动态内存定位的好处。

回答2:

在80X86里,把操作数的偏移地址称为有效地址即“EA”
表达式为:EA=基址+(变址*比例因子)+位移量。
比如8可以直接写8
也可以写5+3
这里的3就是8相对于5的偏移量