誰でもこのコマンドを理解するのを手伝ってくれますか:
mov %esp,%edi
lea 0x10(%edi),%esi
最初にesp
toのアドレスを読み込みますedi
。次に、 の値をロードします。edi+10
つまり、 のアドレスesp+10
ですesi
。しかし、それはスタックにとって何を意味するのでしょうか? プッシュしたらスタックに4バイト書き込みますよね?そして、スタック上で 10 バイト戻った場合、このポイントはどこにあるのでしょうか?
|______| # here?
|______|
|______|
|______|
|______|
|______|
|______|
|___*__| # or at the position of the star?
|______| # 4 Byte
|______| # also 4 Byte long...
|______| <---%edi