这个汇编声明是什么意思?

我正在使用-s标志查看gcc生成的汇编代码。 一些陈述如下所示。

movl is_leader(%rip), destination 

这里, is_leader是C代码中int类型的全局定义变量。 我不明白的是这里的术语是is_leader(%rip) 。 是不是翻录指令指针? 我需要知道这个语句是如何用来访问is_leader的

它要求汇编程序生成代码,该代码将当前指令的地址和对象的地址之间的差异添加或减去指令指针。

这给出了对象的地址而没有生成绝对地址(通常,偏移量适合16或32位,因此得到的代码也更短,因此更快)。

这增加了两个项之间的距离保持不变的约束,因此这只能用于同一可加载对象中的数据; 如果不满足该条件,链接器将标记错误。

也许与位置无关的代码有关,在* .so可执行文件中。