Share via


.MODEL

Initialisiert das Programm Speichermodell.

.MODEL memorymodel [[, langtype]] [[, stackoption]]

Parameter

  • memorymodel
    Erforderlicher Parameter, der die Größe von Code und Daten-Zeigern bestimmt.

  • langtype
    Optionaler Parameter, der die Konventionen aufrufen und Benennungskonventionen für Prozeduren und öffentliche Symbole festlegt.

  • stackoption
    Optionaler Parameter.

    stackoptionis not used if memorymodel is FLAT.

    Angabe NEARSTACK gruppiert Stapelsegments liegt in einer einzigen physikalischen Komponente (DGROUP) zusammen mit den Daten. Das Segment-Stapelregister (SS) wird angenommen, dass die gleiche Adresse wie die Segmentregister Daten halten (DS). FARSTACKgruppiert nicht den Stapel mit DGROUP; So SS ist nicht gleich DS.

Hinweise

.MODELwird MASM für x64 (ml64.exe).

Die folgende Tabelle listet die möglichen Werte für jeden Parameter, wenn 16-Bit- und 32-Bit-Plattformen:

Parameter

32-Bit-Werte

16-Bit-Werte (Unterstützung für ältere 16-Bit-Entwicklung)

memorymodel

FLAT

TINY, SMALL, COMPACT, MEDIUM, LARGE, HUGE, FLAT

langtype

C, STDCALL

C, BASIC, FORTRAN, PASCAL, SYSCALL, STDCALL

stackoption

Nicht in Verwendung

NEARSTACK, FARSTACK

Code

Im Zusammenhang mit MASM-Beispiele downloaden Compilerbeispiele aus Visual C++-Beispiele und Dokumentation für das Jahr 2010 Visual Studio.

Das folgende Beispiel veranschaulicht die Verwendung der .MODEL Richtlinie.

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

Weitere Ressourcen

Direktiven – Referenz

Visual C++-Beispiele und Dokumentation für das Jahr 2010 Visual Studio