Microsoft Visual Studio 配置匯編語言開發環境


Microsoft Visual Studio 配置匯編語言開發環境

Microsoft Visual Studio配置匯編語言開發環境   

本篇轉自:https://blog.csdn.net/qq_28249373/article/details/83475107
   

一般情況下,大都數人都不會想用匯編這種古老的語言,但有時候想操控硬件或者想優化程序,又不得不用到匯編語言。匯編語言的編寫,調試是一件非常麻煩的事,要是有一個集成的開發環境,那寫匯編就可以說是得心應手。就目前來看,似乎沒有哪個好的、免費的匯編IDE可以用,如果有的話,那微軟的VS(daoban的也算免費)算是一個吧。下面就講一講如何在VS2015中配置匯編語言開發環境(純匯編語言開發環境配置,而不是C語言內嵌匯編語言)。

一、首先,安裝VS,這個不用說,2015,2017或者以后的版本,這里用作例子的就是2015版。

二、安裝匯編語言語法高亮插件。這一步不是必須的,但如果有語法高亮和提示的話,開發起來會很爽!下面用圖來說明。

打開VS2015,在菜單欄上選擇“工具》擴展和更新”

聯機搜索“asm”,可以看到兩個匯編高亮插件,這兩個插件都可以用,本人覺得第一個更好用一些。

選擇高亮插件,下載安裝,然后重新啟動VS方可使用。

三、項目配置匯編開發環境。這一步是能否編譯匯編語言的關鍵!

首先,創建項目,這個跟開發C語言是一樣的。任選一個項目都可以,這里選擇“空項目”。

創建好項目后,對項目屬性進行配置。右擊項目名稱,然后在彈出的菜單中選擇“生成依賴項》生成自定義”。這一步相當於告訴IDE,我要開發的是匯編語言,而不是其他的。

在“生成自定義”中勾選“masm”,完成開發環境的配置。

四、添加匯編語言源程序(.asm)文件

右鍵asm文件,選擇“屬性”,此步是為了設置asm文件的屬性,根據自己需要做相應的更改。也可以不做更改,使用默認設置。

一般情況下,把“Use Safe Exception Handelers”項設為“是”,否則在“Release”模式下,生成解決方案會報錯。這個后面會說到。

五、匯編程序編寫、編譯和調試

先寫一段小代碼測試一下是否配置正確。很短的代碼,就是兩個寄存器相加。start是標簽,用來定義代碼的位置,end表示程序結束,end后面的start表明了程序的入口點為start處,相當於C語言的main函數的入口點是main。一個工程中可以有一個或多個asm文件,要生成解決方案的話,就要指定一個入口點,讓系統知道,程序應該從哪里開始。

將鼠標放在關鍵字處,可以看到高亮插件給出的提示,比如指令的用法、指令的性能,這給匯編開發帶來的極大的方便。

生成解決方案可以對程序進行調試。“生成》生成解決方案”,“調試》逐語句”。在“逐語句”調試模式下,可以查看寄存器的值。選擇“調試》窗口》寄存器”

到此為止,VS純匯編語言開發環境配置完畢。其實配置不算很麻煩,微軟的VS還是挺好用的。

六、匯編開發可能會遇到的一些問題

本人剛開始用VS開發匯編語言時遇到不少問題。如果“編譯”報錯,很可能是語法不正確,檢查程序是否有寫錯的地方,或者有錯誤的指令用法。其他配置問題,主要有以下幾個:

1.生成解決方案時報錯:“無法導出子系統,必須定義它”。如果是選擇“編譯”的話,沒有語法錯誤,一般都能通過。如果是“生成解決方案”的話,設置不對,有可能報錯。

解決方法:指定一個子系統。因為創建工程的時候選擇的是“空項目”,沒有指定是控制台,還是win32。所以生成解決方案之前必須指明是那種類型的項目,也就是選擇“子系統”。如果一開始選擇“控制台”或者“win32”項目,就不會出現這種報錯。

2.生成解決方案時報錯:“模塊對於SAFESEH是不安全的”“無法生成SAFESEH映像”。這個問題是asm文件屬性設置的問題。一般情況下,默認的asm屬性設置在debug模式下是不會報錯的,但在release模式下就會。這時,在asm文件屬性中的“Use Safe Exception handlers”設為“是”,就可以解決這個問題。

3.生成解決方案時提示沒有入口點問題。如果是生成解決方案(生成exe文件),那是一定要指定入口點的,就像C語言一定要有main函數一樣。匯編程序也要設置入口點,見下圖:

start定義入口位置,end 后面跟着start,是指明start為入口點。在一個工程中必須要有入口點,但入口點只能有一個,也就說end xxx這種情況只能出現一次,不能在每個asm文件中都來一個end xxx。缺少入口點的報錯有多種,其中一種如下圖:

出錯總結:如果“編譯”報錯,很可能是語法有問題。如果“編譯”成功,而“生成解決方案”時報錯,那就看看asm屬性設置是否正確,是否指定了子系統,是否設置了入口點。

 
VS寫匯編用到的的東西
02-10
內含: masm庫(lib,include) AsmHighlighter15/17(asm高亮插件)
VS2017配置匯編語言開發環境
VS2017配置匯編語言開發環境 文章目錄VS2017配置匯編語言開發環境MASA簡介第一步打開VS新建一個空項目第二步在源文件出添加一個新建項第三步進行工程配置第四步程序調試安裝匯編語言語法高亮插件錯誤記錄列表文件生成和編譯的沖突 MASA簡介 Microsoft Macro Assembler(MASA)宏匯編程序是一種x86匯編程序,它使用Intel的語法在MS-DOS和Microsoft ...

Win10下搭建匯編語言開發環境(利用DOSBOX和MASM32)_ynd...
2-18
本人初次學習匯編語言已經是五年前,但一直都未親自實踐過,最近工作上需要用到反匯編二進制可執行文件,因此計划重新拾起曾經學過的匯編語言,以便能夠順利完成手頭上的項目。以下是搭建基於DOSBOX+MASM32的匯編語言開發環境記錄。
詳解匯編語言開發環境搭建方法_小木的博客_匯編語言環境
3-11
匯編語言幾乎是所有程序員在大學時的必修課,本文將給大家介紹的是四種匯編語言開發環境搭建方法 由於這些日子一直都在研究底層的技術,從 Windows 驅動程序,到 Windows 內核等等技術的學習, 讓我對底層的技術越發有興趣了,而剛好,在...
匯編語言,匯編語言的編程環境。
04-06
輕松匯編是一個匯編語言的集成開發環境,主要面向匯編語言的初學者。它提供了一個在Windows界面下的匯編語言開發環境,具有了一般的集成開發環境所提供的功能。例如:原來需要煩瑣的命令行才能完成的工作,現在只需要簡單的鼠標單擊就可以完成,而且復雜的參數也只要進行一下設置就可以了。還有,它會截獲錯誤信息,並顯示在錯誤窗口上,只要點擊一下錯誤信息,對應的錯誤行就會在編輯窗口突出顯示出來。   除了一般的功能外,它還針對匯編語言的特殊性和匯編語言初學者的特殊性,提供了一些專門針對匯編語言和專門針對匯編語言初學者的功能。
在vs2017中編寫匯編
在Visual Studio 2017中寫匯編,環境配置
Windows10 下搭建匯編語言開發環境( 利用 DOSBOX 和 MASM32 )
3-5
以下是搭建基於 DOSBOX + MASM32 的匯編語言開發環境記錄。 匯編IDE:radasm、MasmPlus、Easy Code、Visual Studio、Emu8086、ASM-Tool 等。使用比較多的就是radasm、MasmPlus、Visual Studio。
匯編語言開發環境_匯編語言開發環境-其它工具類資源-CSDN文庫
3-4
匯編語言開發環境-masm 很實用的匯編語言開發環境,簡單易學,占用空間少,有edit、masm、link可執行文件等。 masm5.0匯編語言開發環境 匯編語言的開發環境,匯編使人民開發簡單的應用程序的過程,可以有很簡單的用途 ...
VS如何寫匯編語言
參考鏈接:https://blog.csdn.net/qq_28249373/article/details/83475107
匯編程序開發環境搭配
引子 由於這些日子一直都在研究底層的技術,從 Windows 驅動程序,到 Windows 內核等等技術的學習, 讓我對底層的技術越發有興趣了,而剛好,在研究 WRK 時, 對內存管理,寄存器,地址總線,數據總線,控制總線等的理解不夠透徹, 所以越發的想學習匯編程序設計來提升功力, 而由於近來在公司里一直都有項目壓着,所以在公司里也實在不好拿本匯編程序設計看, 所以只好晚上回來學習了,...
匯編開發環境的搭建和使用_hml666888的博客_匯編開發環境
2-21
例如,編寫程序,判斷一個年份是否是閏年的匯編語言源程序,可以在DOS模式


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM