次の方法で共有


.MODEL (32 ビット MASM)

プログラム メモリ モデルを初期化します。 (32 ビット MASM のみ)。

構文

.MODEL memory-model, language-type⟧ ⟦, stack-option

パラメーター

memory-model
コードとデータ ポインターのサイズを決定する必須パラメーターです。

language-type
プロシージャとパブリック シンボルの呼び出しと名前付けの規則を設定する省略可能なパラメーターです。

stack-option
省略可能な 型のパラメーターです。

memory-modelFLAT の場合、stack-option は使用されません。

NEARSTACK を指定すると、スタック セグメントがデータと共に 1 つの物理セグメント (DGROUP) にグループ化されます。 スタック セグメント レジスタ (SS) は、データ セグメント レジスタ (DS) と同じアドレスを保持すると想定されています。 FARSTACK では、スタックは DGROUP にグループ化されません。したがって、SSDS と等しくありません。

解説

.MODELx64 用 MASM (ml64.exe) では使用されません。

次の表は、16 ビットおよび 32 ビットのプラットフォームを対象とする場合に各パラメーターで使用できる値を示しています。

パラメーター 32 ビットの値 16 ビットの値 (以前の 16 ビット開発のサポート)
memory-model FLAT TINY, SMALL, COMPACT, MEDIUM, LARGE, HUGE, FLAT
language-type C, STDCALL C, BASIC, FORTRAN, PASCAL, SYSCALL, STDCALL
stack-option 非使用 NEARSTACK, FARSTACK

コード

MASM 関連のサンプルについては、Visual Studio 2010 向けの Visual C++ サンプルと関連ドキュメントからコンパイラのサンプルをダウンロードしてください。

.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

関連項目

ディレクティブ リファレンス
MASM BNF 文法