プロが教えるわが家の防犯対策術!

アセンブラでmain関数から作成すると
以下gasです。

main:
pushl %ebp

と%ebpを最初にpushしますが、このebpの値はos側がこの実行ファイルをロードするときにセットするという感じでしょうか?

A 回答 (1件)

パラメータはスタックに入れて渡されます。


スタックのポインタとしてebpレジスタが
使用されるという訳です。このレジスタは
呼び出し元も使うので、関数を出るときは
入ったときの値を保証しなければなりません。
そのため、最初にpush命令で値を退避する
のです。
その直ぐ後にmov ebp,espと続くはずです。
    • good
    • 0
この回答へのお礼

ありがとうございました。理解しました

お礼日時:2010/05/18 00:25

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!