Sdílet prostřednictvím


MASM pro x64 (ml64.exe)

ml64.exe je assembler, který přijímá x64 Assembler.Informace o možnostech kompilátoru ml64.exe Referenční dokumentace pro použití nástroje ML a ML64 v příkazovém řádku.

Vložené ASM není podporována pro x64.Použít vnitřní objekty serveru jazyk MASM nebo kompilátoru (x 64 vnitřní objekty serveru).

Dvě řešení jsou samostatné sestavení jazyk MASM (který plně podporuje x 64) a vnitřní objekty serveru kompilátoru.Přidali jsme velké vnitřní objekty serveru umožnit zákazníkům pomocí funkce speciální instrukce (napřprivilegovaném bit skenování na zkoušku, interlocked zakryta) v jako na platformě způsobem co nejblíže.

ml64 specifických směrnic

S ml64.exe pomocí následující direktivy:

Kromě toho PROC směrnice byla aktualizována pro použití s ml64.exe.

32Bitová adresa režimu (velikost přepsat adresu)

Jazyk MASM bude vyzařovat velikost přepsat adresu 0x67, pokud obsahuje operand paměti 32bitové registry.Velikost přepsat adresu být emitovány způsobí například následující příklady:

mov rax, QWORD PTR [ecx]
mov eax, DWORD PTR [ecx*2+r10d]
mov eax, DWORD PTR [ecx*2+r10d+0100h]
prefetch [eax]
movnti rax, QWORD PTR [r8d]

Jazyk MASM předpokládá, že pokud samostatně jako operand paměti se zobrazí 32bitové přestavění, 64bitové adresování je určen.Aktuálně nejsou podporovány pro 32bitové adresování s takovým operandy.

Nakonec míchání velikosti registru do paměti operand, jak ukazuje následující kód vygeneruje chybu.

mov eax, DWORD PTR [rcx*2+r10d]
mov eax, DWORD PTR [ecx*2+r10+0100h]

Viz také

Další zdroje

Microsoft Macro Assembler – referenční dokumentace