はじめてのWin64アセンブラ

Visual Studio 2005(以下、VS2005)を使って簡単なアセンブラ・プログラミングをしてみましょう。64ビットでも簡単にアセンブラが使えることをお確かめください。

(本記事の初稿は2005年です。64ビットCPUが普及した現在でも有用な内容と思われるので、そのままの内容で公開します。)なおVS2005はx64版Windowsだけでなく従来の32ビット版Windowsでも動作します。x64用のコンパイル、アセンブル等も32ビット版Windows上で行えます。ただし完成したEXEファイルを実行するには、x64版Windowsが稼動しているマシンが必要になります。

■環境設定
VS2005を使って64ビット用のプログラミングを行うには、Professional Edition以上のVS2005が必要であり、
さらにインストール時にはカスタムインストールを選び、64ビット関連のコンパイラがインストールされるように設定する必要があります。デフォルトではインストールされません。

プロジェクトの新規作成で「コンソールアプリケーション (Win32)」を選びます。「Win32アプリケーションウィザード」の「アプリケーションの設定」では「空のプロジェクト」にチェックを入れ、ひとまずウィザードを完了させます。

「ソリューション エクスプローラ」で「ソース ファイル」を右クリックし、「追加->新しい項目…」を選び、以下の2ファイルを追加します。

Win64(AMD64)用のビルドを行うためには、ソリューションプラットフォームを切り替える必要があります。プルダウンメニューで「ビルド->構成マネージャ」を選びます。「アクティブ ソリューション構成」「アクティブ ソリューション プラットフォーム」「プロジェクトのコンテキスト」の3項目があります。「アクティブ ソリューション プラットフォーム」をクリックし、「<新規作成…>」を選びます。「新しいプラットフォームの入力または選択」で「Win64 (AMD64)」を選び、OKボタンを押します。「構成マネージャ」のダイアログを閉じます。

次に、アセンブリコードのアセンブル方法をVS2005に教えてあげます。「ソリューション エクスプローラ」でkasan64asm.asmを右クリックしてプロパティを出し、「構成プロパティ->カスタム ビルド ステップ->全般」で以下のように入力します。なお「構成」はダイアログ左上のリストボックスで切り替えます。

次にリンカの設定を行います。必ずしも設定しなければならないわけではないようですが、念のため行います。「ソリューション エクスプローラ」でプロジェクト名を右クリックしてプロパティを選びます。(「ソース ファイル」や「ヘッダー ファイル」の1階層上にあるのがプロジェクト名です。)「構成プロパティ->リンカ」の下にある項目を以下のように設定します。

準備はこれで終わりです。

■ビルドそして実行

プルダウンメニューで「ビルド->ソリューションのビルド」を選び、ビルドします。

EXEファイルは、プロジェクト名のディレクトリ内にあるamd64ディレクトリの下にあるdebugディレクトリかreleaseディレクトリにあります。x64版Windowsマシンでコマンドプロンプトを起動して実行すると、以下のようになります。

起草日:2005年1月4日(火)(www.marbacka.net内の別のサイトで公開)
最終更新日:2017年2月19日(日)

スポンサーリンク