Condividi tramite


. MODEL (MASM a 32 bit)

Inizializza il modello di memoria del programma. (solo MASM a 32 bit).

Sintassi

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

Parametri

memory-model
Parametro obbligatorio che determina le dimensioni dei puntatori di codice e di dati.

language-type
Parametro facoltativo che imposta le convenzioni di denominazione e chiamata per le procedure e i simboli pubblici.

opzione stack
Parametro facoltativo.

l'opzione stack non viene usata se il modello di memoria è FLAT.

Se si specifica NEARSTACK, il segmento dello stack viene raggruppato in un singolo segmento fisico (DGROUP) insieme ai dati. Si presuppone che il registro dei segmenti dello stack contenga lo stesso indirizzo del registro dei segmenti di dati. FARSTACK non raggruppa lo stack con DGROUP, pertanto SS non è uguale a DS.

Osservazioni:

. MODEL non viene usato in MASM per x64 (ml64.exe).MODEL is not used in MASM for x64 (ml64.exe).

La tabella seguente elenca i valori possibili per ogni parametro quando la destinazione è rappresentata da piattaforme a 16 bit e a 32 bit:

Parametro Valori a 32 bit Valori a 16 bit (supporto per lo sviluppo di versioni precedenti a 16 bit)
memory-model APPARTAMENTO TINY, SMALL, COMPACT, MEDIUM, LARGE, HUGE, FLAT
language-type C, STDCALL C, BASIC, FORTRAN, PASCAL, SYSCALL, STDCALL
opzione stack Non usato NEARSTACK, FARSTACK

Codice

Per esempi relativi a MASM, scaricare gli esempi del compilatore da Esempi di Visual C++ e documentazione correlata per Visual Studio 2010.

Nell'esempio seguente viene illustrato l'uso della direttiva .MODEL.

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

Vedi anche

Riferimento a direttive
Grammatica BNF MASM