.MODEL
Paměťový model program inicializuje.
.MODEL memorymodel [[, langtype]] [[, stackoption]]
Parametry
memorymodel
Požadovaný parametr určuje velikost kódu a dat ukazatelů.langtype
Volitelný parametr, který nastaví konvence volání a pojmenování postupy a veřejné symboly.stackoption
Volitelný parametr.stackoptionis not used if memorymodel is FLAT.
Zadání NEARSTACK segmentu zásobníku seskupí do jednoho segmentu fyzické (DGROUP) spolu s daty.Registr segmentu zásobníku (SS) předpokládá, že držet stejnou adresu jako registr segmentu dat (DS).FARSTACKSkupina není zásobník s DGROUP; takto SS není rovno DS.
Poznámky
.MODELnení používána v MASM pro x64 (ml64.exe).
V následující tabulce jsou uvedeny možné hodnoty pro každý parametr při cílení 16bitové a 32bitové platformy:
Parametr |
32bitové hodnoty |
16bitové hodnoty (podpora pro starší 16bitové rozvoj) |
---|---|---|
memorymodel |
FLAT |
TINY, SMALL, COMPACT, MEDIUM, LARGE, HUGE, FLAT |
langtype |
C, STDCALL |
C, BASIC, FORTRAN, PASCAL, SYSCALL, STDCALL |
stackoption |
Nepoužito |
NEARSTACK, FARSTACK |
Kód
Jazyk MASM související vzorky stáhnout kompilátor vzorky z Visual C++ vzory a související dokumentaci pro Visual Studio 2010.
Následující příklad ukazuje použití .MODEL směrnice.
Příklad
; 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
Viz také
Další zdroje
Referenční dokumentace k direktivám
Visual C++ vzory a související dokumentaci pro Visual Studio 2010