Condividi tramite


.MODEL

Inizializza il modello di memoria del programma.

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

Parametri

  • memorymodel
    Parametro obbligatorio che determina la dimensione dei puntatori a codice e dati.

  • langtype
    Parametro facoltativo che consente di impostare le convenzioni di chiamata e di denominazione per le procedure e i simboli pubblici.

  • stackoption
    Parametro facoltativo.

    stackoptionis not used if memorymodel is FLAT.

    Specifica di NEARSTACK il segmento dello stack vengono raggruppati in un unico segmento fisico (DGROUP) insieme ai dati. Lo stack di registri di segmento (SS) viene utilizzata per contenere lo stesso indirizzo di registro di segmento di dati (DS). FARSTACKnon raggruppare stack con DGROUP; In questo modo SS non è uguale a DS.

Note

.MODELnon è utilizzato in MASM per x64 (ml64.exe).

La tabella seguente vengono elencati i possibili valori per ogni parametro destinato a piattaforme a 16 bit e 32-bit:

Parametro

valori a 32 bit

valori a 16 bit (supporto per lo sviluppo di versioni precedente a 16 bit)

memorymodel

FLAT

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

langtype

C, STDCALL

C, BASIC, FORTRAN, PASCAL, SYSCALL, STDCALL

stackoption

Non utilizzato

NEARSTACK, FARSTACK

Codice

Per esempi di MASM correlati, scaricare gli esempi di compilatore da esempi di Visual C++ e la relativa documentazione per Visual Studio 2010.

Nell'esempio riportato di seguito viene illustrato l'utilizzo di .MODEL della direttiva.

Esempio

; 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

Vedere anche

Altre risorse

Riferimento a direttive

Esempi di Visual C++ e la relativa documentazione per Visual Studio 2010