rax
得到偏移量加上这条指令的地址,还是下一条?从微码的角度来看,如果答案是下一条指令,可能会更容易。
问问题
5461 次
2 回答
13
下一个。这是 x86 的一般规则(另请参见分支)。
在英特尔的手册第 2 卷第 2.2.1.6 节 RIP-Relative Addressing 中:
一种新的寻址形式,RIP-relative(相对指令指针)寻址,是在 64 位模式下实现的。通过在下一条指令的 64 位 RIP 中添加位移来形成有效地址。
于 2015-04-02T22:24:10.293 回答
8
请注意,symbol_name(%rip)
计算从此处到达所需的偏移量symbol_name
,而不是将symbol_name
RIP 的绝对地址作为偏移量添加。
但是是的,对于像这样的数字偏移量mov 4(%rip), %rax
,它将从该指令结束后的 4 个字节开始加载 8 个字节。
于 2019-01-22T17:19:06.217 回答