• ベストアンサー

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

アセンブラでmain関数から作成すると 以下gasです。 main: pushl %ebp と%ebpを最初にpushしますが、このebpの値はos側がこの実行ファイルをロードするときにセットするという感じでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • nda23
  • ベストアンサー率54% (777/1416)
回答No.1

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

vfrtgb
質問者

お礼

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

関連するQ&A