Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
関数の戻り値をスタックフレームにプッシュするのが理にかなっているのではないかと思います。
戻り値は主にレジスター(gccの場合はeax)に格納されることは知っていますが、パフォーマンスのためだけですか?
ありがとう!
それは理にかなっていますが、手動で挿入する必要があります(単純なプッシュではありません)。関数から戻るときは、戻りアドレスがスタックの最上位にある必要があるため、呼び出し元が「スペース」を「割り当てる」必要があります(関数を呼び出す前にspを減らす必要があります)。したがって、戻り値は次のようになります。差出人住所の下。[スタックで引数を渡すのと同じ原則]