gpt4 book ai didi

assembly - 这个 x86-64 代码中的 lea 有什么作用?

转载 作者:行者123 更新时间:2023-12-03 18:39:13 24 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





What's the purpose of the LEA instruction?

(17 个回答)


8年前关闭。




这些是函数的前四行。我知道前两行在堆栈中创建了一个新框架,基本上是“设置”行。 lea 指令有什么作用?

40148e: 48 83 ec 18    sub    $0x18,%rsp
401492: 48 89 f2 mov %rsi,%rdx
401495: 48 8d 4e 04 lea 0x4(%rsi),%rcx
401499: 48 8d 46 14 lea 0x14(%rsi),%rax

最佳答案

lea , 加载有效地址,将计算出的“内存地址”放入结果寄存器。所以在这里,rcx = rsi + 4rax = rsi + 0x14 .

顺便说一句,第二行看起来并不是设置堆栈帧的代码的一部分,rsi是使用 System V AMD64 调用约定时的第二个参数。

关于assembly - 这个 x86-64 代码中的 lea 有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16185446/

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