ml64.exe 是接受 x64 汇编语言的汇编。 有关 ml64.exe 编译器选项的信息,请参见 ML 和 ML64 命令行参考。
内联 ASM 没有为 x64支持。 使用 MASM 或编译器内部函数 (x64 Intrinsics)。
两个工作区是具有单独的程序集完全支持 x64) 的 MASM (和编译器内部函数。 我们添加大量内部允许客户利用特殊功能命令 (即。 特权,扫描位/测试,互锁,等等) 尽可能接近跨平台的方式尽可能。
,如果内存操作数包括 32 位寄存器, MASM 将发出 0x67 地址范围重写。 例如,下面的示例导致地址范围重写发出:
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 位置换单独出现作为内存操作数, 64 位路由的意图。 没有为 32 位解决当前支持使用此类操作数。
最后,在一个内存操作数中的混合注册大小,如下面的代码所示,将生成错误。
mov eax, DWORD PTR [rcx*2+r10d] mov eax, DWORD PTR [ecx*2+r10+0100h]