輕鬆彙編

輕鬆彙編

輕鬆彙編是一個彙編語言的集成開發環境,主要面向彙編語言的初學者。 它提供了一個在Windows界面下的彙編語言開發環境,具有了一般的集成開發環境所提供的功能。例如:原來需要煩瑣的命令行才能完成的工作,現在只需要簡單的滑鼠單擊就可以完成,而且複雜的參數也只要進行一下設定就可以了。還有,它會截獲錯誤信息,並顯示在錯誤視窗上,只要點擊一下錯誤信息,對應的錯誤行就會在編輯視窗突出顯示出來。

主要作用

輕鬆彙編 輕鬆彙編

除了一般的功能外,它還針對彙編語言的特殊性和彙編語言初學者的特殊性,提供了一些專門針對彙編語言和專門針對彙編語言初學者的功能。例如:格式整理,當您寫完一行程式,換行時,輕鬆彙編會自動先簡單的檢查該行語法,如無錯誤則整理該行的格式,使彙編程式格式整齊,具有如同藝術品一樣的建築美。而且在集成環境裡,第二版增加了交叉檔案和映像檔案的自動讀入功能,使初學者閱讀交叉檔案和映像檔案更方便,有利於初學者養成良好的編程習慣和加深對彙編語言、機器語言的理解。

開發者介紹

作者:晨池,拉丁名:Cook,酷客,出生於河南省北部太行山區,後移於江漢平原,珠江三角洲,長江三角洲等地。畢業於武漢大學。

其軟體是在大學期間完成的。

操作指南

第一步 基本的編輯功能

這裡是介紹基本的編輯功能,就像在介紹Windows自帶的記事本。

檔案選單

新建:新建一個檔案,快捷鍵為 Ctrl+N ;

保存:保存當前檔案,快捷鍵為 Ctrl+S ;

打開:打開一個檔案,快捷鍵為 Ctrl+O ;

退出:退出輕鬆彙編 ;

另外儲存為: 把正在編輯的檔案存為另外一個檔案 ;

最近使用過的檔案:在這裡紀錄了您最近使用過的檔案,可以快速打開。

如果您不希望別人看到您編輯過什麼程式,可以點擊“清空全部紀錄”。

編輯選單

全選:選定正在編輯的全部內容,快捷鍵為 Ctrl+A;

複製:複製選定的內容到剪貼簿,快捷鍵為 Ctrl+C;

剪下:複製選定的內容到剪貼簿,並刪除所選定的內容,快捷鍵為 Ctrl+X;

貼上:把剪貼簿中的內容複製到編輯視窗,快捷鍵為 Ctrl+P;

刪除:刪除選定內容,快捷鍵為 Del;

撤消:撤消上一步操作,快捷鍵為 Ctrl+Z,但是注意只能撤消一次。

查找選單

查找:在所編輯的檔案中查找字元串,快捷鍵為 Ctrl+F;

替換:在所編輯的檔案中把一個字元串替換為另一個,快捷鍵為 Ctrl+R;

查找下一個:從當前游標起,查找下一個,快捷鍵為 F3;

第二步 編寫一個彙編程式

打開輕鬆彙編就自動為您新建了一個模板,直接在上面添加數據定義和代碼就可以了。一般來說,都是先寫堆疊段。輸入“stacks segment stack”,用空格隔開關鍵字。然後按下回車鍵換行——您會看到,輕鬆彙編自動把剛才輸入的那一行程式的格式整理好了。

第二行是堆疊的大小了,應該輸入“db 128 dup(0)”,輸入“bd 128 dup(0)”試試,會怎樣?在換行時沒有整理格式。如果您輸入的彙編程式有拼寫錯誤,輕鬆彙編會檢測出來,並且拒絕整理錯誤行的格式,這時候您就可以避免這類簡單而又隱蔽的錯誤。當然,如果您確定您輸入的是正確的,而輕鬆彙編沒有整理格式,或整理的格式不好看,請告訴我這個錯誤,不勝感激,聯繫方式見左側小字。在您編程的過程中,左側的導航欄會隨時更新您的語法信息,可以通過導航欄來快速定位您的語法元素。

接著,把您所想要寫的程式寫完,進行下一步:編譯、運行一個程式。

如果是以前寫的程式,在輕鬆彙編中打開後,點擊:運行“整理格式”,輕鬆彙編會對整個程式格式進行整理。

第三步 編譯、運行一個彙編程式

把寫好的彙編程式編譯、運行一下,熟悉操作。

點擊:運行-生成目標檔案,輕鬆彙編就會自動生成目標檔案,另外,根據您的設定(如何設定,請參見第四步),還會生成其他的檔案。默認是生成交叉檔案和映像檔案,點擊右上角的按鈕就可以看到這兩個檔案(這兩個檔案的作用,請參見疑難解答)。

如果有語法錯誤,編譯會失敗,錯誤信息會顯示在下面的視窗中,點擊錯誤信息,錯誤行就會突出顯示出來。

點擊:運行-運行,輕鬆彙編就會會自動完成編譯、連結、運行當前程式。在程式運行時是全螢幕方式,結束後變成視窗方式,不會退出。

點擊:運行-調試,輕鬆彙編就會自動完成編譯、連結、調試的工作,使用的是TD作為調試工具。

就這些了,因為在輕鬆彙編下編譯、運行一個程式確實簡單。

在彙編時還有其他的可能,那么,請進行第四步:讓彙編變的更輕鬆。

第四步 讓彙編變得更輕鬆

對輕鬆彙編進行個人設定,讓它更符合您的習慣。

在輕鬆彙編中根據初學者的特點,提供了很有特色的功能,如果您不喜歡的話,可以關掉它,對於運行的參數,同樣也是通過設定來改變的。下面我們一一介紹:

在設定中:

格式設定:在這裡的下拉框中有三個選項,全部大寫、全部小寫和不處理,選定後的結果是在進行格式處理時對格式化結果的處理。

自動整理格式:選定後在換行的時候會對原來行進行格式整理,如果沒有選定就不整理格式。

採用調試模式:選定後在編譯時包括參數/zi,在連結時包括參數/v,這樣生成的執行檔比較大,包含了用TD調試時所需要的信息,可以實現原始碼調試;如不選定,不能實現原始碼調試,在調試的時候不太方便。推薦選定該選項。

編譯生成Com檔案:選定該選項後在連結時包括參數/t,如果你寫的是一個com檔案的彙編代碼,那么就可以選定以生成一個com後綴的檔案。在選定該選項後調試時不能實現原始碼調試,所以最好在編寫、調試的時候不選定,最後調試通過後再選定該選項生成com檔案。如果不選定,即使是com檔案的彙編代碼也是可以編譯通過,只不過生成的是一個Exe檔案。推薦不選定。

自定義參數:就是自己提供TASM和TLink的參數了,如果你對TASM了解比較多,可以實現其他的參數功能,但是對於一般的學習者,並不需要自定義參數,以免造成程式運行時出問題。

程式格式:在這裡控制格式整理的方式,您可以自己設定後看看效果。不過推薦用默認方式。

顯示導航欄:選中後顯示導航欄,否則不顯示。

顯示錯誤欄:選中後顯示錯誤欄,否則不顯示。(推薦選中,如果不選中,有錯誤它是不會自動顯示的。)

疑難解答

交叉檔案和映像檔案是什麼

交叉檔案和映像檔案是編譯過程和結果的詳細顯示。其中交叉檔案是在第二遍掃描中建立的,映像檔案是對執行檔的說明,所以只有生成了執行檔,才會有映像檔案,但是只要不發生嚴重錯誤,就有交叉檔案。

學會閱讀交叉檔案對於理解彙編原理更加重要,交叉檔案說明如下:

1、編譯後的機器代碼和彙編語言的對應關係。

在交叉檔案的主體部分,就是說明編譯後的機器代碼和彙編語言的對應關係的,分為三列,第一列是編譯後機器代碼在記憶體中的地址,第二列是編譯後的機器代碼,第三列就是你寫的彙編語言和注釋。要注意的是,在交叉檔案中的數字全部都是用十六進制表示的,沒有十進制表示的數字。

下面是一段交叉檔案的原文:

000E B1 02 MOV CL,2 ;把2送到CL中

0010 F6 E9 IMUL CL ;CL中的數值和AL中數值相乘

0012 FE C0 INC AL ;AL中的數值加1

第一列是對應指令在記憶體的地址,第一條指令“MOV CL,2”的起始地址是000E,占了兩個位元組(B1 02),所以第二條指令的起始地址是0010。

第二列是編譯後的機器指令,第一條指令“MOV CL,2”編譯後的機器代碼是“B1 02”,其中B1表示:1)是MOV指令;2)定址方式是立即數定址;3)使用的是CL暫存器。02表示運算元是02H,十六進制數2。第二和第三條指令也是以此類推,查看一下指令格式就可以了。編譯後的執行檔里寫的就是第二列的內容,您可以用UlTra Edit等十六進制編輯器打開看一看。

第三列就是被編譯的彙編指令。

2、宏擴展情況。

在存在著宏擴展的部分,都用“1”標出,如下所示:

0024 E8 0035 CALL PINISET

MOUTPUT CLINE ;輸出CLINE

0027 BA 0001 R 1 MOV DX,OFFSET CLINE

002A B4 09 1 MOV AH,09H

002C CD 21 1 INT 021H

在這段程式中,事先定義了宏MOUTPUT:

MOUTPUT MACRO PSTR ;輸出PSTR

MOV DX,OFFSET PSTR

MOV AH,09H

INT 021H

ENDM

而CLINE是一個數據。

您可以看到,宏被擴展成的三條指令都用“1”標出來了。

3、錯誤列表。

在交叉檔案的彙編語言的錯誤行的上面標出了錯誤原因、錯誤行、和錯誤類別,在交叉檔案的最後,還列出了總的錯誤數。

4、段、子程式、宏、變數的清單。

在交叉檔案的最後部分是對彙編程式中所有的段、子程式、宏、變數的清單,列出了它們的起始地址、值、類型等特徵。

學會閱讀交叉檔案,可以對了解指令格式、編譯原理有很大的幫助,而且通過閱讀交叉檔案,可以了解實際的宏擴展情況,有利於程式排錯。

為什麼語法錯誤的提示信息是亂七八糟

輕鬆彙編調用的是TASM 5.0作為核心編譯彙編程式的,錯誤信息也是通過TASM 5.0來截獲的。為了簡便安裝,把TASM 5.0功能實現所需要的最少的幾個檔案附帶安裝了,它們是TASM.Exe,TLink.Exe,TD.Exe,RTM.Exe。

其中,TASM.Exe的版本是4.1,TLink.Exe的版本是7.1.30.1。如果發生了上述情況,很可能是被替換成了不同的版本,您可以再其他地方拷貝一個相同版本的過來。或者重新安裝輕鬆彙編。現在網上很多TASM5就是輕鬆彙編所調用的。

為什麼運行結果和彙編原始碼不一致呢

在有些情況下,會發生這種問題:修改了原始碼以後再運行程式,運行的結果卻是修改以前的,似乎修改的沒有效果!

解決這個問題的辦法是在修改原始碼以後,都要先編譯(Ctrl+F9),在編譯通過後,再連結(F9),然後再運行或調試,否則修改就沒有效果。

之所以會這樣,是因為在輕鬆彙編中,編譯只負責把彙編的原始碼編譯成目標檔案(*.obj),而連結只負責把已有的目標檔案連結成執行檔(*.exe),而運行只負責運行已經存在的執行檔,調試也只負責調試已經存在的執行檔。這是符合在命令行下寫彙編程式的規則的。

在這種情況下,如果你先打開一個彙編程式,第一次編譯、連結、運行或調試,都很正常。接著,你修改了原始碼,再運行,結果肯定是修改以前的,因為執行檔還是按修改前的原始碼生成的,連結一遍再運行,結果還是修改以前的,因為目標檔案是按修改以前的原始碼生成的,那由此生成的執行檔自然也是按修改以前的代碼生成的了。所以必須重新編譯一遍再重新連結一遍,然後再運行或調試,就沒問題了。

相關詞條

相關搜尋

熱門詞條

聯絡我們