gcc -S
メモリとスタックがどのように機能するかを理解するために遊んでいます。これらのプレイ中に、私にはいくつかの不明な点が見つかりました。理由を理解するのを手伝ってもらえますか?
関数を呼び出すと、呼び出された関数の引数が設定され、代わりに使用
mov
されます。使わないメリットは?esp
push
push
スタックに配置された引数で動作する関数は、それらを次のように指します
ebp + (N + offset)
(Nは戻りアドレス用に予約されたサイズです)。esp - offset
どちらがより理解しやすいかを期待しています。どこでも基本的なポイントとして使用する理由は何ebp
ですか? これらが等しいことは知っていますが、とにかく?の冒頭にあるこの魔法は何のため
main
ですか? なぜesp
この方法でのみ初期化する必要があるのですか?and esp,0xfffffff0
ありがとう、