Sdílet prostřednictvím


. MODEL (32bitový MASM)

Inicializuje model paměti programu. (Pouze 32bitová verze MASM.)

Syntaxe

. MODEL memory-model, language-type⟧ ⟦, stack-option

Parametry

model paměti
Povinný parametr, který určuje velikost kódu a datových ukazatelů.

language-type
Volitelný parametr, který nastavuje konvence volání a pojmenování pro procedury a veřejné symboly.

stack-option
Volitelný parametr.

možnost zásobníku se nepoužívá, pokud je model paměti FLAT.

Určení NEARSTACK seskupí segment zásobníku do jednoho fyzického segmentu (DGROUP) spolu s daty. Předpokládá se, že registr segmentů zásobníku (SS) bude obsahovat stejnou adresu jako registr datového segmentu (DS). FARSTACK neskupuje zásobník s DGROUP, takže SS se nerovná DS.

Poznámky

. MODEL se v MASM pro platformu x64 (ml64.exe) nepoužívá.

Následující tabulka uvádí možné hodnoty jednotlivých parametrů při cílení na 16bitové a 32bitové platformy:

Parametr 32bitové hodnoty 16bitové hodnoty (podpora staršího 16bitového vývoje)
model paměti BYT TINY, SMALL, COMPACT, MEDIUM, LARGE, HUGE, FLAT
language-type C, STDCALL C, BASIC, FORTRAN, PASCAL, SYSCALL, STDCALL
stack-option Nepoužívá se. NEARSTACK, FARSTACK

Kód

V případě ukázek souvisejících s MASM si stáhněte ukázky kompilátoru z ukázek Visual C++ a související dokumentace pro Visual Studio 2010.

Následující příklad ukazuje použití direktivy .MODEL .

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é

Referenční dokumentace k direktivám
Gramatika MASM BNF