2012-01-15 50 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