我尝试读取 x86_64 register 的值rip
。这是objdump
显示的内容。
4017ec: 48 8d 35 00 00 00 00 lea 0x0(%rip),%rsi
4017f3: 41 89 d4 mov %edx,%r12d
我希望在指令0x4017ec
执行后,的值rsi
应该是0x4017ec
。然而0x4017f3
,它是下一条指令的地址。
我使用 gdb 停止0x4017ec
,当时的rip
值为0x4017ec
. 为什么rsi
没有加载当时的值rip
?处理器应该从中读取指令0x4017ec
吗?