谁能帮我理解这个命令:
mov %esp,%edi
lea 0x10(%edi),%esi
首先我加载esp
to的地址edi
。然后我加载 的值edi+10
,即esp+10
to的地址esi
。但这对堆栈意味着什么?如果我进行推送,我会在堆栈上写入 4 个字节,对吗?如果我在堆栈上跳回 10 字节,这一点在哪里?
|______| # here?
|______|
|______|
|______|
|______|
|______|
|______|
|___*__| # or at the position of the star?
|______| # 4 Byte
|______| # also 4 Byte long...
|______| <---%edi