.MODEL
プログラムのメモリ モデルを初期化します。
.MODEL memorymodel [[, langtype]] [[, stackoption]]
パラメーター
memorymodel
コードとデータのポインターのサイズを決定する必須のパラメーターです。langtype
プロシージャとパブリック シンボルの呼び出しと名前付け規則を設定するオプションのパラメーター。stackoption
オプションのパラメーター。stackoptionis not used if memorymodel is FLAT.
指定するNEARSTACKスタック セグメントは 1 つの物理セグメントにグループ化 (DGROUP) データと共に。 スタック セグメント レジスタ (SS) は、データ セグメント レジスタと同じアドレスを保持すると見なされます (DS)。 FARSTACKスタックでグループ化しないDGROUP; したがってSS等しくないDS。
解説
.MODELあるx64 用 MASM (ml64.exe)。
次の表、可能な各パラメーター値を 16 ビットと 32 ビット プラットフォームを対象とする場合を示します。
パラメーター |
32 ビットの値 |
16 ビット値 (従来の 16 ビット開発のサポート) |
---|---|---|
memorymodel |
FLAT |
TINY, SMALL, COMPACT, MEDIUM, LARGE, HUGE, FLAT |
langtype |
C, STDCALL |
C, BASIC, FORTRAN, PASCAL, SYSCALL, STDCALL |
stackoption |
未使用 |
NEARSTACK, FARSTACK |
コード
MASM 関連のサンプルでは、コンパイラのサンプルからダウンロードVisual C のサンプルと Visual Studio 2010 の関連マニュアル。
次の例の使用、.MODELディレクティブ。
使用例
; file simple.asm
; For x86 (32-bit), assemble with debug information:
; ml -c -Zi simple.asm
; For x64 (64-bit), assemble with debug information:
; ml64 -c -DX64 -Zi simple.asm
;
; In this sample, the 'X64' define excludes source not used
; when targeting the x64 architecture
ifndef X64
.686p
.XMM
.model flat, C
endif
.data
; user data
.code
; user code
fxn PROC public
xor eax, eax ; zero function return value
ret
fxn ENDP
end