. MODELL (32-Bit-MASM)

Initialisiert das Programmspeichermodell. (Nur 32-Bit-MASM.)

Syntax

. MODEL Speichermodell, Sprachtyp⟧ ⟦, Stack-Option

Parameter

Speichermodell
Erforderlicher Parameter, der die Größe von Code- und Datenzeigern bestimmt.

Sprachtyp
Optionaler Parameter, der die Aufruf- und Namenskonventionen für Prozeduren und öffentliche Symbole festlegt.

Stack-Option
Optionaler Parameter.

Stack-Option wird nicht verwendet, wenn das Speichermodell FLACH ist.

Durch Angeben von NEARSTACK wird das Stapelsegment zusammen mit Daten in einem einzelnen physischen Segment (DGROUP) gruppiert. Das Stapelsegmentregister (Stack Segment Register, SS) wird angenommen, um dieselbe Adresse wie das Datensegmentregister (DS) zu enthalten. FARSTACK gruppiert den Stapel nicht mit DGROUP. Daher ist SS nicht gleich DS.

Hinweise

. MODEL wird in MASM für x64 (ml64.exe) nicht verwendet.

In der folgenden Tabelle werden die möglichen Werte für die einzelnen Parameter auf 16-Bit- und 32-Bit-Plattformen aufgelistet:

Parameter 32-Bit-Werte 16-Bit-Werte (Support für frühere 16-Bit-Entwicklungen)
Speichermodell FLACH TINY, KLEIN, KOMPAKT, MITTEL, GROß, GROß, FLACH
Sprachtyp C, STDCALL C, BASIC, FORTRAN, PASCAL, SYSCALL, STDCALL
Stack-Option Nicht verwendet NEARSTACK, FARSTACK

Code

Beispiele zu MASM finden Sie in den Compilerbeispielen, die Sie unter Visual C++ Samples and Related Documentation for Visual Studio 2010 (Visual C++-Beispiele und passende Dokumentation für Visual Studio 2010) herunterladen können.

Im folgenden Beispiel wird die Verwendung der .MODEL-Anweisung gezeigt.

Beispiel

; 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

Siehe auch

Anweisungen – Referenz
MASM BNF Grammatik