2012-01-15 152 views
3

由于标题的确是这样,是否有可能在Visual Studio中编写汇编代码?是否可以使用Visual Studio编写英特尔汇编?

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

必须有一个非常类似于VS你可以写你的程序集,选择CPU然后执行?

回答

3

Visual Studio中的内联汇编程序不可靠,但可以使用Visual Studio与MASM (the Microsoft Macro Assembler)一起编写直装程序。

编写用于打开一个窗口,设置了输出的 “胶水” 代码,在组件相当痛苦,所以y你可能会觉得用C++编写大部分程序会更舒服,而汇编中只有几个文件。这样您就可以直接在程序集中编写简单的测试函数,然后从C++框架调用它们。

+1

@Nocturn:它在x64上不受支持。 (http://msdn.microsoft.com/en-us/library/4ks26t93.aspx) 另外,我注意到一些代码生成错误的情况下,我内联汇编到C++函数的中间 - 就像我有一个很大的功能,在它的中间,我使用了一个__asm块来尝试将C++变量加载到寄存器中,偶尔会加载错误的变量,或者寄存器会被破坏。 它不经常发生;我认为这只是微软不再支持内联汇编程序,并且罕见的错误已经开始蔓延。 – Crashworks 2012-01-15 02:05:56

+1

@Nocturn *仍然*对我有用(无论在x86中),正在编写__declspec(裸)函数都是汇编,然后从C中调用它们。我还没有遇到任何编译器错误。我仍然有时也使用普通的内联汇编,但是我必须事先检查生成的代码(例如使用/ FACS)以确保它正确输出。 – Crashworks 2012-01-15 02:22:30

+0

另请参阅[此答案](http://stackoverflow.com/a/4549741/422797)。 – 2012-01-16 11:59:06