【问题标题】:Is it possible to use Visual Studio to write intel assembly?是否可以使用 Visual Studio 编写 intel 程序集?
【发布时间】:2012-01-15 01:09:25
【问题描述】:

正如标题所说,是否可以在 Visual Studio 中编写汇编代码?

我正在寻找一个易于使用的 IDE 来编写英特尔汇编语言。几个月前我查看了一些 IDE,除非它们需要大量配置设置(我将示例复制并粘贴到 IDE 中),否则它们将无法工作......

必须有一个与 VS 非常相似的简单 IDE,您可以在其中编写程序集、选择 CPU 并执行?

【问题讨论】:

    标签: visual-studio visual-studio-2010 assembly masm


    【解决方案1】:

    Visual Studio 中的内联汇编器并不可靠,但您可以将 Visual Studio 与 MASM (the Microsoft Macro Assembler) 结合使用来编写直接的汇编程序。

    在汇编中编写打开窗口、设置输出、的“胶水”代码是相当痛苦的,因此您可能会发现用 C++ 编写大部分程序会更舒服,而且只需汇编中的几个文件。这样您就可以从直接汇编中编写简单的测试函数开始,然后从您的 C++ 框架中调用它们。

    【讨论】:

    • @Nocturn :x64 不支持。 (msdn.microsoft.com/en-us/library/4ks26t93.aspx) 另外,我注意到一些代码生成错误,在我内联汇编到 C++ 函数中间的情况下——比如如果我有一个大函数,在它中间我使用一个 __asm 块来尝试要将 C++ 变量加载到寄存器中,有时会加载错误的变量,或者寄存器会被破坏。它不经常发生;我认为这只是微软不再支持内联汇编器,并且开始出现罕见的错误。
    • @Nocturn still 对我有用(无论如何在 x86 中),是编写全部是汇编的 __declspec(naked) 函数,然后从 C 中调用它们。我没有还没有遇到任何编译器错误。我有时也会使用普通的内联汇编,但我必须在之后检查生成的代码(例如使用 /FACS)以确保它正确。
    【解决方案2】:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-17
      • 2014-06-04
      • 2016-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多