Bagikan melalui


. MODEL (MASM 32-bit)

Menginisialisasi model memori program. (MASM 32-bit saja.)

Sintaks

. MODELmodel memori,language-type⟧ ⟦,stack-option

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 DATAR 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

Baca juga

Referensi Arahan
Tata Bahasa MASM BNF