.MODEL (32 位 MASM)
將程式記憶體模型初始化。 (僅限 32 位 MASM。
語法
.MODEL 記憶體模型 ⟦, language-type⟧ ⟦, stack-option⟧
參數
memory-model
決定程式碼大小與資料點的必要參數。
language-type
為程序及公用符號設定呼叫及命名慣例的選擇性參數。
stack-option
選擇性的 參數。
如果記憶體模型是 FLAT,就不會使用 stack-option。
指定 NEARSTACK 會將堆疊區段群組成單一實體區段(DGROUP),以及數據。 堆疊區段緩存器 (SS) 會假設保留與數據區段緩存器 (DS) 相同的位址。 FARSTACK 不會使用 DGROUP 將堆疊分組,因此 SS 不等於 DS。
備註
.MODEL 不適用於 x64 的 MASM(ml64.exe)。
下表列出了以 16 位元和 32 位元平台為目標時,各個參數可能的值:
參數 | 32 位元值 | 16 位元值 (支援較早的 16 位元開發) |
---|---|---|
memory-model | 平 | TINY、SMALL、COMPACT、MEDIUM、LARGE、LARGE、LARGE、LARGE、FLAT |
language-type | C、 STDCALL | C、BASIC、FORTRAN、PASCAL、SYSCALL、STDCALL |
stack-option | 未使用 | NEARSTACK,FARSTACK |
代碼
如需 MASM 相關範例,請從 Visual C++ Samples and Related Documentation for Visual Studio 2010 (適用於 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