.MODEL
初始化程序内存模型。
.MODEL memorymodel [[, langtype]] [[, stackoption]]
参数
memorymodel
必选的参数,用于确定代码和数据的指针的大小。langtype
设置过程和公共符号的呼叫和命名约定的可选参数。stackoption
可选参数。stackoptionis not used if memorymodel is FLAT.
指定NEARSTACK分组到单个物理网段的堆栈段 (DGROUP) 与数据一起。 堆栈段寄存器 (SS) 即被保存在相同的数据段寄存器地址 (DS)。 FARSTACK未分组的堆栈与DGROUP。 因此SS不等于DS。
备注
.MODEL在不使用x64 (ml64.exe) MASM。
当目标 16 位和 32 位平台时下, 表列出可能的值为每个参数:
Parameter |
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