開発環境 |
Microsoft Visual C++ 2010 Express (SP1) |
実行環境 |
Microsoft Windows XP Home Edition (SP3) |
プロジェクトの種類 |
Win32 コンソール アプリケーション |
プロジェクト名 |
helloasm |
アプリケーションの種類 |
コンソール アプリケーション |
追加のオプション |
空のプロジェクト |
プロジェクト新規作成時「Win32 コンソール アプリケーション」を選択する。
デフォルトのエントリポイントは_mainCRTStartupになる。
それはCRT(C Run-Time)ライブラリに入っていて、そこから_mainが呼ばれる。
CRTライブラリの初期化、入出力の準備、コマンド引数の準備などが行われる。
プロジェクトのプロパティ
構成プロパティ/リンカー/入力/追加の依存ファイル:libcmt.lib
※少なくともVS2005にはシングルスレッドCRT(libc.lib)は使用されなくなった
最初に指定されているkernel32.libなどは全部削除しても構わない。必要になった時に追加すればいい。
参考
helloasm.asm
; helloasm.asm
.model flat
extrn _printf:proc
.data
fmt db '[%s]', 0ah, 0
msg db 'hello, world', 0
.code
_main proc
push offset msg
push offset fmt
call _printf
add esp, 8
xor eax, eax
ret 0
_main endp
end
出力
[hello, world]
最終更新:2014年04月08日 11:24