Поделиться через


. MODEL (32-разрядная ВЕРСИЯ MASM)

Инициализирует модель памяти программы. (только 32-разрядная версия MASM.)

Синтаксис

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

Параметры

модель памяти
Обязательный параметр, который определяет размер кода и указателей данных.

тип языка
Необязательный параметр, который задает соглашения о вызовах и именовании для процедур и открытых символов.

параметр stack-option
Необязательный параметр.

Параметр stack-option не используется, если модель памяти не является плоской.

Указание NEARSTACK группировать сегмент стека в один физический сегмент (DGROUP) вместе с данными. Предполагается, что регистр сегмента стека (SS) содержит тот же адрес, что и регистр сегмента данных (DS). FARSTACK не группирует стек с DGROUP, поэтому службы SS не равны DS.

Замечания

. МОДЕЛЬ не используется в MASM для x64 (ml64.exe).

В следующей таблице перечислены возможные значения для каждого параметра при нацеливании на 16-разрядные и 32-разрядные платформы:

Параметр 32-разрядные значения 16-разрядные значения (поддержка более ранней разработки 16-разрядных приложений)
модель памяти ПЛОСКИЙ КРОШЕЧНЫЕ, МАЛЕНЬКИЕ, КОМПАКТНЫЕ, СРЕДНИЕ, БОЛЬШИЕ, ОГРОМНЫЕ, ПЛОСКИЕ
тип языка C, STDCALL C, BASIC, FORTRAN, PASCAL, SYSCALL, STDCALL
параметр stack-option Не используется NEARSTACK, FARSTACK

Код

Для получения примеров, связанных с MASM, скачайте примеры компилятора на странице примеров кода на Visual C++ и связанной документации для Visual Studio 2010.

В следующем примере иллюстрируется использование директивы .MODEL.

Пример

; 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

См. также

Справочник по директивам
Грамматика MASM BNF