キーワード C言語, コンパイラ, 引数, 返却値, スタック, スクラッチレジスタ これだけは覚えよう C言語プログラムとアセンブリ言語プログラムをつなげるには、呼出規約を知らないといけない。 呼出規約は、コンパイラ毎に変化する。 関数呼出 C言語やPascalなどの高級言語の多くは、関数を作ることができます。ある程度の処理をひとつの関数(手続き)として分離することで、問題を簡単にしたり、使い回ししやすくしたり、コードの見栄えを良くしたりできます。呼び出す側は処理に必要な情報を与え、呼び出された側は渡された情報のみ(※)を用いて処理を行って答えを返します。 プログラムが計算を行うためには、レジスタを使用する必要があります。しかし、呼出元も呼出先もレジスタを使用するので、そのままではレジスタを取り合ってケンカがおきます。これを調停するのが呼出規約です。 呼出規約の中には、次のような決め事が