rax
是否得到偏移加上该指令的地址,或下一个?从微码的角度来看,如果答案是下一条指令可能会更容易。
答案 0 :(得分:7)
下一个。这是x86的一般规则(另见分支)。
在英特尔手册第2卷第2.2.1.6节RIP相对寻址:
新的寻址形式,RIP相对(相对指令指针)寻址,以64位模式实现。通过向下一条指令的64位RIP添加位移来形成有效地址。
答案 1 :(得分:1)
请注意,symbol_name(%rip)
是从此处计算到达symbol_name
所需的偏移量,而不是将symbol_name
的绝对地址作为偏移量添加到RIP。
但是,是的,对于像mov 4(%rip), %rax
这样的数字偏移量,将从指令末尾的4个字节开始加载8个字节。