.MODEL
Inicializa el modelo de memoria de programa.
.MODEL memorymodel [[, langtype]] [[, stackoption]]
Parámetros
memorymodel
Parámetro requerido que determina el tamaño de los punteros de código y datos.langtype
Parámetro opcional que define las convenciones de llamada y de nomenclatura para los procedimientos y símbolos públicos.stackoption
Parámetro opcional.stackoptionis not used if memorymodel is FLAT.
Especificación de NEARSTACK agrupa el segmento de pila en un único segmento físico (DGROUP) junto con los datos. El registro de segmento de pila (SS) se supone que mantenga la misma dirección que el registro de segmento de datos (DS). FARSTACKNo agrupar la pila con DGROUP; de este modo SS no es igual a DS.
Comentarios
.MODELno se utiliza en MASM para x64 (ml64.exe).
En la tabla siguiente enumera los posibles valores para cada parámetro al destinado a plataformas de 16 y 32 bits:
Parámetro |
valores de 32 bits |
valores de 16 bits (soporte para el desarrollo de 16 bits anterior) |
---|---|---|
memorymodel |
FLAT |
TINY, SMALL, COMPACT, MEDIUM, LARGE, HUGE, FLAT |
langtype |
C, STDCALL |
C, BASIC, FORTRAN, PASCAL, SYSCALL, STDCALL |
stackoption |
No se utiliza |
NEARSTACK, FARSTACK |
Código
¿Para obtener ejemplos relacionados con MASM, descargar los ejemplos del compilador de ejemplos de Visual C++ y la documentación relacionada para 2010 Visual Studio.
En el ejemplo siguiente se muestra el uso de la .MODEL la directiva.
Ejemplo
; 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
Vea también
Otros recursos
¿Ejemplos de Visual C++ y la documentación relacionada para 2010 Visual Studio