. MODEL (MASM 32-bit)
Menginisialisasi model memori program. (MASM 32-bit saja.)
Sintaks
. MODEL model memori ⟦, jenis bahasa⟧ ⟦, opsi tumpukan⟧
Parameter
model memori
Parameter yang diperlukan yang menentukan ukuran kode dan penunjuk data.
jenis bahasa
Parameter opsional yang mengatur konvensi panggilan dan penamaan untuk prosedur dan simbol publik.
opsi tumpukan
Parameter opsional.
opsi tumpukan tidak digunakan jika model memori adalah FLAT.
Menentukan NEARSTACK mengelompokkan segmen tumpukan ke dalam satu segmen fisik (DGROUP) bersama dengan data. Register segmen tumpukan (SS) diasumsikan untuk menyimpan alamat yang sama dengan register segmen data (DS). FARSTACK tidak mengelompokkan tumpukan dengan DGROUP; dengan demikian SS tidak sama dengan DS.
Keterangan
. MODEL tidak digunakan dalam MASM untuk x64 (ml64.exe).
Tabel berikut mencantumkan nilai yang mungkin untuk setiap parameter saat menargetkan platform 16-bit dan 32-bit:
Parameter | Nilai 32-bit | Nilai 16-bit (dukungan untuk pengembangan 16-bit sebelumnya) |
---|---|---|
model memori | RATA | KECIL, KECIL, RINGKAS, SEDANG, BESAR, BESAR, DATAR |
jenis bahasa | C, STDCALL | C, BASIC, FORTRAN, PASCAL, SYSCALL, STDCALL |
opsi tumpukan | Tidak digunakan | NEARSTACK, FARSTACK |
Kode
Untuk sampel terkait MASM, unduh sampel Compiler dari Sampel Visual C++ dan Dokumentasi Terkait untuk Visual Studio 2010.
Contoh berikut menunjukkan penggunaan direktif .MODEL
.
Contoh
; 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