gpt4 book ai didi

assembly - 读取RIP寄存器给出下一条指令的地址?

转载 作者:行者123 更新时间:2023-11-30 16:34:57 26 4
gpt4 key购买 nike

我尝试读取x86_64寄存器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 读取指令?

最佳答案

rip 在运行当前指令时始终保存下一条指令的地址。如果事实上通过下一条指令的地址更新rip,则属于当前指令执行过程的一部分。

关于assembly - 读取RIP寄存器给出下一条指令的地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49121671/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com