開発環境 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