MASM для x64 (ml64.exe)
ml64.exe ассемблер, который принимает x64 язык ассемблера. Дополнительные сведения о параметрах компилятора ml64.exe см. в разделе Справочник по командной строке ML и ML64.
Встроенное asm не поддерживается x64. Используйте MASM (или внутренних функций компилятораx64 Intrinsics).
2 Временного решения отдельную сборку с MASM (64-разрядная версия) и полностью поддерживает внутренние функции компилятора. Мы добавили множество встроенных функций для того, чтобы позволить клиентам использовать инструкции (например специальн-функции. просмотр привилигированного, бита/предоставленный тест,…) и т д как закрыть кроссплатформенный образа.
рекомендации ml64-Specific
Используйте следующие рекомендации с ml64.exe:
Кроме того, PROC директива была обновлена для использования с ml64.exe.
32 - режим адреса (переопределение размера адреса)
MASM испустит переопределение размера адреса 0x67, если операнд памяти включает 32 регистров. Например, в следующих примерах вызывают переопределение размера адреса быть испущенным:
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 предполагается, что если смещение отображается не связано с пакетом обновления 32 (sp2) в качестве операнда 64 (sp2) адресации памяти. В настоящее время не поддерживаются пакетом обновления 32 (sp2) решить с теми операндами.
Наконец, смешивание размеры регистра внутри операнда памяти, как показано в следующем коде, off, вызовут ошибку.
mov eax, DWORD PTR [rcx*2+r10d]
mov eax, DWORD PTR [ecx*2+r10+0100h]
См. также
Другие ресурсы
Справочные материалы по ассемблеру Microsoft Macro Assembler