Поделиться через


MASM для x64 (ml64.exe)

ml64.exe ассемблер, который принимает x64 язык ассемблера.Дополнительные сведения о параметрах компилятора ml64.exe см. в разделе Справочные сведения о командной строки ML и ML64.

Встроенное asm не поддерживается x64.Используйте MASM (или внутренних функций компилятораКомпоненты x64).

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]

См. также

Другие ресурсы

Ссылка ассемблера макроса (Майкрософт)