分享方式:


.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 TINYSMALLCOMPACTMEDIUM、LARGE、LARGE、LARGE、LARGE、FLAT
language-type CSTDCALL CBASICFORTRANPASCALSYSCALL、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

另請參閱

指示詞參考
MASM BNF 文法