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