在MASM中区分x64和x86模式

时间:2012-09-30 08:52:50

标签: x86 64-bit masm

我有asm文件,可以使用masm(ml.exe或ml64.exe)为x64和x86组装。 masm中是否有一些预定义的宏来检测该文件是否正在为x64进行组装?现在我手动定义_WIN64然后测试它,但必须有更好的方法来检查它。

1 个答案:

答案 0 :(得分:2)

您可以尝试测试是否定义了RAX,如同类问题的答案之一所示:Detecting architecture at compile time from MASM/MASM64

我使用这个技巧来创建一个变量来阻止我的x64 asm代码在x32版本中组装

IFDEF RAX
    END_IF_NOT_X64 equ <>
ELSE
    END_IF_NOT_X64 equ end  ; kill stop the assembler if we're not compiling for x64
ENDIF

END_IF_NOT_X64

; x64 code...