マクロ命令とは
コンピュータープログラミングのマクロ命令は、プログラムがコンパイルされると、事前に定義されたコードブロックに置き換えられる単一の命令です。 この用語はもともと、アセンブリ言語プログラミングで使用される命令に適用されていました。アセンブリ言語プログラミングでは、非常に単純な操作のために、長い反復コードが必要になることがありました。 マクロ命令の開発は、代表的な関数のライブラリに基づいて言語を作成するための最初のステップの1つでした。そのため、個別のプログラムで1回のコマンドコールで微細なアクションを収集できます。 初期のマクロ命令ライブラリは、プログラマが正しい方法で機能を使用したりアクセスしたりするのを支援するために、ハードウェアとソフトウェアのメーカーから最も頻繁に提供されました。
プログラマーはさまざまな理由でマクロ命令を使用しましたが、最も一般的なのは、プログラム内の反復コードの量を減らし、マクロコード内のエラーの可能性を排除し、複数のプログラマーが使用できるように一般的に使用される命令セットを提供することでした同じマクロ命令。 アセンブリ言語では、特定の結果を得るために必要なすべてのステップを明示的に記述する必要があります。 例として、3つの数字を加算するプログラムがあります。
高レベル言語の加算演算子は当たり前のことと見なされることがよくありますが、アセンブリ言語に3つの数値を追加する操作には、少なくとも6行のコードが必要です。 最初の2行は、コンピューター内の物理回路に実際に対応するレジスターと呼ばれるフィールドに数値をロードします。 3行目は2つのレジスタを追加し、4行目は結果を別のレジスタに保存します。 5行目は、レジスタに追加する最後の数値をロードし、最後のステートメントは3番目の数値に前の結果を追加します。
この一連の操作は簡単にマクロ命令に変換できるため、1行のコードと、パラメーターとして追加する3つの数字だけが必要です。 プログラムが最終的にアセンブラによってコンパイルされ、マシンコードに変換されると、アセンブリが配置される前に前処理と呼ばれるアクションが実行されます。 プリプロセッサは、マクロ命令とパラメータを取得し、必要なコード行に展開し、実際のマクロコード内の代表的なプレースホルダのパラメータに置き換えます。
マクロ命令の使用が普及した後、一般的に使用される多くのコードブロックがマクロ命令ライブラリにアセンブルされます。 これらのライブラリには、アセンブリ言語でのプログラミングを簡素化するのに役立ち、特定の操作が異なるプログラム間で一貫した方法で実行されるようにするためのいくつかのマクロが含まれていました。 マクロ命令ライブラリの広範な使用により、最終的には独自のライブラリに依存する高レベル言語がもたらされ、プログラミング要件がはるかに少ない広範な機能が提供されました。