Assembly Visual Studio 13中的汇编语言编译

Assembly Visual Studio 13中的汇编语言编译,assembly,visual-studio-2013,masm,Assembly,Visual Studio 2013,Masm,我在记事本文件中有一个汇编语言代码。我听说它可以在不安装MASM的情况下编译。我搜索了一下,发现VisualStudio可以编译它。我有Visual Studio 13,请指导我该怎么做。Visual Studio包括masm或实际上的ml.exe,这是自6.11版(可追溯到msdos 6.22时代)以来microsoft汇编程序的实际名称。对于64位模式,请使用ml64.exe 要创建项目,请执行以下操作: 创建一个文件夹以保存项目 创建项目,指定文件夹名称作为项目名称,不要选中“创建目录”

我在记事本文件中有一个汇编语言代码。我听说它可以在不安装MASM的情况下编译。我搜索了一下,发现VisualStudio可以编译它。我有Visual Studio 13,请指导我该怎么做。

Visual Studio包括masm或实际上的
ml.exe
,这是自6.11版(可追溯到msdos 6.22时代)以来microsoft汇编程序的实际名称。对于64位模式,请使用
ml64.exe

要创建项目,请执行以下操作:

  • 创建一个文件夹以保存项目
  • 创建项目,指定文件夹名称作为项目名称,不要选中“创建目录”
  • 出现选择时选择win32 console应用程序
  • 出现“下一步”时,单击“下一步”,然后单击“空项目”。这将打开项目窗口
  • 右键单击项目名称。。。所有配置。。。人物。。。如果您不需要unicode,请从
    unicode
    更改为
    未设置
  • 单击菜单中的project并添加
    .asm
    文件名,例如
    example.asm
  • 然后右键单击
    example.asm
    、属性、项目类型,然后选择
    自定义生成工具
  • 然后单击自定义构建工具。
    • 对于调试生成:
      • 命令行:
        ml/Zi/c/Fo$(outdir)\example.obj example.asm
      • 输出:
        $(outdir)\example.obj
    • 对于发布版本:
      • 命令行:
        ml/c/Fo$(outdir)\example.obj example.asm
      • 输出:
        $(outdir)\example.obj

您会发现,将“汇编”代码作为VS13项目由VS13处理,将允许您轻松地在汇编代码上使用VS13的调试器。你确定要用原始的MASM“编译”它吗?是的,那太好了。我只是不想每次都通过DOS链接和调试进程的可能副本都会出现错误“'ConsoleApplication1.exe'(Win32):加载了'C:\Windows\SysWOW64\ntdll.dll'。找不到或无法打开PDB文件。”对于四个文件,如果您只想使用ml.exe,请单击programs/visual studio/tools/visual studio。。。。命令提示符。然后转到项目目录并使用命令行:ml/c/coff example.asm | link example.obj(如果创建64位程序,则使用ml64,但我不知道link命令是否不同)。至于错误,您是因为哪四个文件?您正在尝试为调试模式或发布模式进行汇编,这是32位还是64位程序?VS2013包括ml.exe和ml64.exe,但您需要指定自定义生成步骤来调用汇编程序。我更新了我的答案来解释这是如何做到的。我没有找到ml64.exe,安装WDK也没有做到这一点。你知道我怎样才能得到它吗?