.MODEL
Inicjuje model pamięci programu.
.MODEL memorymodel [[, langtype]] [[, stackoption]]
Parametry
memorymodel
Wymagany parametr określa rozmiar wskaźników kodu i danych.langtype
Parametr opcjonalny, który ustawia Konwencji wywołującego i nazewnictwa procedur i symbole publicznych.stackoption
Parametr opcjonalny.stackoptionis not used if memorymodel is FLAT.
Określanie NEARSTACK grupuje segmentu stosu w pojedynczym segmencie fizyczne (DGROUP) wraz z danymi.Rejestr segmentu stosu (SS) przyjmuje się, że ten sam adres jako rejestr segmentu danych przytrzymaj (DS).FARSTACKGrupa nie stos z DGROUP; zatem SS nie jest równa DS.
Uwagi
.MODELnie jest używany w MASM dla wersji x64 (ml64.exe).
W poniższej tabeli przedstawiono możliwe wartości dla każdego parametru, podczas określania wartości docelowej 16-bitowe i 32-bitowych platformach:
Parametr |
wartości 32-bitowe |
wartości 16-bitowe (obsługa starszych rozwoju 16-bitowe) |
---|---|---|
memorymodel |
FLAT |
TINY, SMALL, COMPACT, MEDIUM, LARGE, HUGE, FLAT |
langtype |
C, STDCALL |
C, BASIC, FORTRAN, PASCAL, SYSCALL, STDCALL |
stackoption |
Nie używane |
NEARSTACK, FARSTACK |
Kod
Związane z MORGÓW próbek, pobierania próbek kompilator z Visual C++ — przykłady i dokumentacji powiązanych Visual Studio 2010.
Poniższy przykład ilustruje użycie .MODEL dyrektywy.
Przykład
; 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
Zobacz też
Inne zasoby
Visual C++ — przykłady i dokumentacji powiązanych Visual Studio 2010