この記事では、MASM32 SDKのコンパイラとリンカを使ってアセンブリ言語をコンパイルする方法について説明します。単一ファイルの場合に適用されます。
環境の用意
この記事で紹介する方法は、以下の環境でのみテストされています。
Windows 11 22H2、MASM32 SDK version 11、GNU Make 3.81
設定手順
- MakeとMASM32のバイナリディレクトリを両方システム環境変数
Path
に追加します。例えば、D:\GnuWin32\bin;D:\masm32\bin;
のようなものです。 - アセンブリソースファイルがあるディレクトリに
makefile
というファイルを作成し、下記のコードを追加します。 make
を実行すると、プログラムが自動的にコンパイルされ、実行されます。- コンパイルをやり直したい場合は、
make clean
を実行してから再度make
を実行してください。
メイクファイルのソースコード
以下のメイクファイルは、MASM32のディレクトリをD:\masm32
、コンパイルしたいファイル名をtest.asm
と仮定し、D:\irvine
にあるライブラリファイル[1]をも参照しています。必要に応じて自由に変更することができます。
|
|
メイクファイルではタブ文字でインデントする必要があります。スペースでインデントするとエラーが発生しますので、注意してください。
実行結果
例として、ターミナルにHello, World!
を出力するための簡単な80386アセンブリプログラムを使用します。make
コマンドで一発コンパイルと実行すると、以下のように出力されます。
追記
- Makefile Toolsという拡張機能をインストールすることで、VS Code内でサイドバーからアセンブリの生成と実行を直接行うことができます。
- コマンドライン引数を渡す必要がある場合は、24行目の後ろに追加するか、ターミナルで自分で実行してください。
註釈
- ↑Kip R. Irvine氏が初心者向けに自ら設計した便利なライブラリです。これらのライブラリを使用しない場合は、6行目の
/ID:/irvine
と7行目の/LIBPATH:D:/Irvine
を削除してください。