Condividi tramite


MASM per x64 (ml64.exe)

ml64.exe è l'assemblatore che accetta x64 linguaggio assembly. Per informazioni sulle opzioni del compilatore di ml64.exe, vedere Riferimenti alla riga di comando ML e ML64.

L'ASM inline non è supportato per x64. Utilizzare MASM o funzioni intrinseche del compilatore (x64 Intrinsics).

Le due soluzioni alternative sono assembly distinto con MASM (che supporta completamente x64) e funzioni intrinseche del compilatore. È stata aggiunta molte funzioni intrinseche per consentire ai clienti all'utilizzo dell'istruzioni di speciale-funzione (ad esempio un'analisi di bit e privilegiata/test, collegato e così via,…) in vicino a piattaforme modo possibili.

direttive di ml64-Specific

utilizzare le seguenti direttive con ml64.exe:

inoltre, PROC la direttiva è stata aggiornata per l'utilizzo con ml64.exe.

modalità di indirizzi a 32 bit (override di dimensione address)

MASM genererà un override della dimensione di indirizzo 0x67 se un operando di memoria include i registri a 32 bit. Ad esempio, gli esempi riportati di seguito determinano in override della dimensione di indirizzo a essere generati:

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]

MASM si presuppone che se shift a 32 bit viene visualizzato da solo come operando di memoria, il indirizzamento a 64 bit sia previsto. Non è attualmente supporto a 32 bit che indirizzi con tali operandi.

Infine, combinare le dimensioni del log all'interno di un operando di memoria, come illustrato nel codice riportato di seguito, genererà un errore.

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

Vedere anche

Altre risorse

Riferimento a Microsoft Macro Assembler