成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

詳解匯編語言開發環境搭建方法

開發 開發工具
匯編語言幾乎是所有程序員在大學時的必修課,本文將給大家介紹的是四種匯編語言開發環境搭建方法。

引子

由于這些日子一直都在研究底層的技術,從 Windows 驅動程序,到 Windows 內核等等技術的學習,

讓我對底層的技術越發有興趣了,而剛好,在研究 WRK 時,

對內存管理,寄存器,地址總線,數據總線,控制總線等的理解不夠透徹,

所以越發的想學習匯編程序設計來提升功力,

而由于近來在公司里一直都有項目壓著,所以在公司里也實在不好拿本匯編程序設計看,

所以只好晚上回來學習了, 匯編看了幾個晚上,也算是蠻有感覺的。

今天就先來搭個開發環境再說吧。

開發環境搭配

我介紹四種開發匯編程序的方式:

***種:直接在 Dos 環境下使用 Edit 命令調出源碼編輯框,

生成源碼后,可以使用由微軟提供的 masm 匯編編譯器來對源碼進行編譯,

編譯完后再使用 Linker 連接器即可得到可執行文件,

這種方式現在幾乎被滅絕了(當然使用 masm 匯編編譯器還是很普遍的),

除非你真要在 DOS 環境下運行匯編程序;

第二種:通過簡化***種方式而來;

第三種:直接使用 Masm for Windows 集成實驗環境,這個開發環境呢,非常適合匯編語言的初學者,

因為這個 IDE 本身就是由一些從事匯編程序教學的大學老師開發的出來用于匯編初學者進行學習和實驗的,

所以使用簡單,方便,這里可以對這個 IDE 稍加推薦;

第四種:則是通過 Visual  Studio 這個強大的 IDE 來實現匯編程序的編譯,運行和調試,

至于 Visual  Studio 就不多做介紹了,.Net 用了這么多年,這東西強大到什么程度那是總所周知的;

 

***種方式:使用 Edit + MASM 5.0 編譯器 + Linker 連接器

其實這種方式是很簡單的,只是很麻煩,因為簡單而且麻煩,

所以我采用盡可能的將截圖傳上來,然后稍加注解的方式進行介紹,

軟件準備:

需要 MASM 5.0 或者以上的匯編編譯器

首先,是要編輯匯編源代碼:

其實對于源碼的編輯根本不需要向如下這么麻煩,直接拿個記事本就 OK 了

運行 cmd 命令

image

輸入 Edit 命令從而彈出匯編源碼編輯框

image

image

在源碼輸入框中輸入匯編源碼

image

將編輯好的匯編源碼保存到 xx.asm 文件中

image

image

image

然后就是要編譯編輯好的匯編源代碼

在 Dos 環境下進入到  MASM 5.0  匯編編譯器所在的目錄

image

然后運行 masm.exe

image

image

可以從上面的截圖中看到  [. ASM]  的標記,這個標記代表的是需要在這里輸入要編譯的源程序文件名,

這里有一點特別的是,由于默認的文件擴展名為 .asm ,所以在編譯 .asm 的匯編源程序時可以不用指定源程序所在文件的擴展名。

我們將一開始編輯好的匯編源程序所在的文件輸入以進行編譯

image

指定文件所在路徑后按  Enter  鍵

image

此時可以看到編譯器提示需要輸入要編譯出的目標文件的名稱,由于在一開始已經指定了 BoyXiao. asm ,

所以編譯器自動指定了目標文件的名稱為 BoyXiao. obj 的名稱,如果在這里不做修改的話,

則編譯器會以默認目標文件名稱 BoyXiao. obj 進行輸出,在這里我并不改變名稱,所以直接按 Enter 鍵即可

image

此時又提示需要輸入列表文件的名稱,其實是完全可以不要讓編譯器生成這個 LST 文件的,所以也不需要進行輸入,

直接按 Enter 鍵即可

image

此時又提示需要輸入交叉引用文件的名稱,這里也完全可以不要讓編譯器生成這個 CRF 文件,

所以也不需要進行輸入,直接按 Enter 鍵即可

image

至此,匯編源程序編譯成功,

編譯得到的結果就是在我的 E:\Tools\MASM\MASM 5.0 目錄下生成了一個 BoyXiao.obj 文件

image

下面就是要實現對目標文件的連接

經過編譯操作后,我們得到了一個 .obj 的目標文件,但很顯然,這還并不是一個可執行文件,

下面就需要對目標文件進行連接,從而得到一個可執行文件。

一般來說,需要準備一個連接器,這里我使用的是微軟提供的 Linker 連接器,即 LINK.EXE ,

image

進入 LINK.EXE 文件所在目錄,直接運行 LINK.EXE

image

image

此時提示需要輸入被連接的目標文件的名稱,這里也就是  BoyXiao.obj  ,

由于我的 BoyXiao.obj 和 Link.exe 在同一目錄下,所以不需要指定路徑,直接給出 .obj 的名稱即可,

image

按  Enter  鍵

image

這里提示需要輸入要生成的可執行文件的名稱,此時如果想要將可執行文件輸入到指定目錄下,

則需要指定目錄,否則只需要指定名稱即可,并且可以看到名稱已有默認值:BOYXIAO.EXE

在這里我選擇默認值,所以直接按 Enter 鍵即可

image

按  Enter  鍵

image

又繼續提示需要輸入映像文件的名稱,在這里,不需要生成這個文件,所以直接按 Enter 鍵即可

image

此時又提示需要輸入庫文件的名稱,由于我們的這個程序中沒有使用任何的子程序,

也就是根本沒有調用什么庫文件,所以這里也可以直接按 Enter  鍵處理

image

至此,整個目標文件的連接工作結束,得到的結果是一個 EXE 文件

image

執行匯編程序

image

其實執行起來是看不到什么結果的,因為上面的匯編代碼沒有輸出任何內容,而只是改變了幾個寄存器的值而已,

自然也就看不到任何的輸出了。

#p#

 

第二種方式:使用 Edit + MASM 5.0 編譯器 + Linker 連接器 (簡化版)

這種方式其實和***種方式說不上有什么區別,只不過在編譯和連接過程中使用了很多編譯器和連接器的默認設置而已

軟件準備:

和***種方式一樣

 

編輯匯編源代碼:

和***種方式一樣,也可以是直接使用文本編輯器編輯即可

 

編譯編輯好的匯編源代碼

直接到 MASM.EXE 文件目錄,然后直接使用 masm 編譯指定路徑的文件即可

特別注意的是,需要在目錄的后面加上 “;”

image

image

同樣在 E:\Tools\MASM\MASM 5.0 目錄下生成了  BoyXiao.obj 目標文件

image

 

實現目標文件的連接

同樣,直接下到連接器 LINK.EXE 文件所在的目錄,然后直接使用 LINK 連接指定的目標文件即可

同樣需要注意在目錄或文件名的后面加上 “;”

image

image

可以看到連接成功了,從而生成了可執行文件,當然這個可執行文件運行的效果和***種方式中一樣,

即看不到任何輸出

image

#p#

第三種方式:MASM For Windows 集成開發環境

上面的兩種方式都顯得非常麻煩,編譯了還要連接,誰有那么多時間去浪費啊,

所以,下面介紹的這個 MASM For Windows 集成開發環境就顯得非常有優勢了,

軟件準備:

MASM For Windows 集成開發環境,我這里使用的是 2010 版本,大小 15.5 MB

實現 HelloWorld

直接打開 MASM For Windows 集成開發環境,然后找到范例程序,然后直接運行即可

image

image

可以看出,使用這個東東確實會方便很多很多

 

#p#

第四種方式:使用 Visual  Studio 來實現開發匯編程序

軟件準備:

既然是使用  Visual  Studio  來開發了,自然就需要  Visual  Studio  IDE 了,

在這里呢,我使用的是  Visual  Studio  2010 ,當然 2008 和 2005 都是可以的,

只不過在一些設置上有些許區別而已,在這里,我也不做區分,大家感興趣的可以去網上淘一大把,

然后就是<<Intel  匯編語言程序設計>>中的 Irvine 包,這個在網上也有一大把

VS 2010 設置:

在  VC++  中新建一個空項目,取名為  Test

image 

定制  VC++  工程構建規則

image

image

設置完  VC++  生成自定義項文件后,再添加一個  C++  文件,并注意取名時后綴名記為  .asm 

image

設置  VC++  工程的項目屬性

image

需要添加庫路徑,這里的庫路徑指的是 <<Intel  匯編語言程序設計>> 中的 Irvine 庫

image

設置包含路徑

image

設置依賴庫文件,添加 Irvine32.lib

image

設置項目輸出

image

設置生成匯編代碼列表,添加  $(ProjectName).lst  屬性

image

 

Hello World 程序:

image

直接運行即可

image

 

結束語

花了這么多的截圖來介紹這四種匯編程序開發方式,也算是良苦用心了,事實上呢,這四種方式,

我們并沒有必要全部掌握,我們只需找到適合自己的方式即可,

比如,初學的話,我覺得  MASM  For  Windows  IDE 就非常不錯,

而至于系統性的開發,尤其是對于 Win32  匯編程序的開發,則選擇 Visual  Studio 是個不錯的選擇。

原文鏈接:http://www.cnblogs.com/BoyXiao/archive/2010/11/06/1870397.html

【編輯推薦】 

  1. Visual Studio自定義調整窗體的兩個小技巧
  2. Visual Studio 2010中關于C#的幾點改進
  3. Visual Studio 2010及.Net 4新功能一覽
  4. 提高效率 用好Visual Studio 2010自定義代碼段
責任編輯:彭凡 來源: 博客園
相關推薦

2011-01-14 14:08:17

Linux匯編語言

2023-11-23 08:25:40

開發人員SmaliAndroid

2023-06-01 16:27:34

匯編語言函數

2011-01-14 14:39:32

Linux匯編語言

2010-09-14 09:24:29

C語言

2018-01-11 14:58:40

2012-02-09 09:00:54

匯編語言

2011-01-14 14:22:50

Linux匯編語言

2021-06-11 10:02:39

語言編程開發

2011-01-04 17:08:10

匯編語言

2011-01-14 14:15:11

Linux匯編語言

2011-08-25 15:02:17

Lua環境搭建EditPlus

2009-12-24 18:09:23

WPF開發環境

2011-01-14 13:44:45

Linux匯編語言

2020-12-18 08:49:11

相對跳轉絕對跳轉指令

2010-03-04 11:01:06

Python開發環境

2017-01-12 22:36:30

2013-04-08 15:52:06

Go語言

2011-07-21 09:59:26

JavaScript

2011-06-29 10:18:20

LINUX QT ARM
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 男人的天堂avav | 亚洲激情视频在线 | h视频在线看 | 欧美精品福利视频 | 国产精品久久国产精品99 | 在线观看中文字幕亚洲 | 亚洲国产一区二区视频 | 孕妇一级毛片 | 日本一区二区不卡 | 最新av在线网址 | 中文字幕日韩欧美 | av影音资源| 免费亚洲网站 | 国产午夜亚洲精品不卡 | 久久久久国产一级毛片高清网站 | 国产aⅴ | 成人午夜影院 | 国产成人福利 | 国产精品福利网站 | 7777在线 | 超碰人人人人 | 国产精品中文字幕在线观看 | h视频在线看 | 免费一区二区三区 | 欧美福利精品 | 精品国产乱码久久久 | 欧美成人激情视频 | 九色av | 成人一区二区视频 | 亚洲国产网址 | 天天干天天爱天天爽 | 91一区二区在线观看 | 欧美精品一区二区三区在线 | 91视视频在线观看入口直接观看 | 91中文字幕在线观看 | 97av视频在线观看 | 91麻豆产精品久久久久久夏晴子 | 狠狠色综合久久婷婷 | 国产午夜精品一区二区三区嫩草 | 亚洲国产免费 | 亚洲精品自在在线观看 |