汇编语言程序设计的实验环境及上机步骤
匯編語言源程序編制完成后,在計算機上的操作過程分為四個階段:編輯、匯編、連接、運行調試(如圖1)。
一、實驗環境
匯編語言程序設計的實驗環境如下:
微型計算機(Intel x86系列CPU)一臺。
Windows98/2000/XP操作系統
任意一種文本編輯器(EDIT、NOTEPAD(記事本)、UltraEDIT等)。
匯編程序(MASM.EXE或TASM.EXE)。
調試程序(DEBUG.EXE或TD.EXE)。
文本編輯器建議使用EDIT或NOTEPAD,匯編程序建議使用MASM.EXE,連接程序建議使用LINK.EXE,調試程序建議使用TD.EXE。
二、上機實驗步驟
1.確定源程序的存放目錄
建議源程序存放的目錄名為ASM(或MASM),并放在C盤或D盤的根目錄下。如果沒有創建過此目錄,請用如下方法創建:
通過Windows的資源管理器找到C盤的根目錄,在C盤的根目錄窗口中點擊右鍵,在彈出的菜單中選擇“新建”→“文件夾”,并把新建的文件夾命名為ASM。
請把MASM.EXE、LINK.EXE、DENUG.EXE和TD.EXE都拷貝到此目錄中。
2.編輯ASM源程序
編輯階段的主要任務是:
1)輸入源程序;
2)對源程序進行修改。
大多數的文字編輯軟件都可以用來輸入和修改匯編語言源程序,如記事本(Notepad)、寫字板(Writer)、Word以及命令行方式下的Edit。使用寫字板、Word軟件時要注意,一定要用“純文本”格式來儲存源程序文件,否則無法匯編。產生的源程序文件應該以“.ASM”或“.TXT”為擴展名。使用“.ASM”擴展名可以簡化后面的操作。
如圖1所示中,進行了兩次編輯過程,分別產生了匯編語言源程序文件MYPRG1.ASM和MYPRG2.ASM。
建立ASM源程序可以使用EDIT或NOTEPAD(記事本)文本編輯器。下面的例子說明了用EDIT文本編輯器來建立ASM源程序的步驟(假定要建立的源程序名為HELLO.ASM),用NOTEPAD(記事本)建立ASM源程序的步驟與此類似。
在Windows中點擊桌面左下角的“開始”按鈕→選擇“運行”→在彈出的窗口中輸入“EDIT.COM C:\ASM\HELLO.ASM”,屏幕上出現EDIT的編輯窗口,如圖2所示。
窗口標題行顯示了EDIT程序的完整路徑名。緊接著標題行下面的是菜單行,窗口最下面一行是提示行。菜單可以用Alt鍵激活,然后用方向鍵選擇菜單項,也可以直接用Alt-F打開File文件菜單,用Alt-E打開Edit編輯菜單,等等。
如果鍵入EDIT命令時已帶上了源程序文件名(C:\ASM\HELLO.ASM),在編輯窗口上部就會顯示該文件名。如果在鍵入EDIT命令時未給出源程序文件名,則編輯窗口上會顯示“UNTITLED1”,表示文件還沒有名字,在這種情況下保存源程序文件時,EDIT會提示輸入要保存的源程序的文件名。
編輯窗口用于輸入源程序。EDIT是一個全屏幕編輯程序,故可以使用方向鍵把光標定位到編輯窗口中的任何一個位置上。EDIT中的編輯鍵和功能鍵符合Windows的標準,這里不再贅述。
源程序輸入完畢后,用Alt-F打開File菜單,用其中的Save功能將文件存盤。如果在鍵入EDIT命令時未給出源程序文件名,則這時會彈出一個“Save as”窗口,在這個窗口中輸入你想要保存的源程序的路徑和文件名(本例中為C:\ASM\HELLO.ASM)。
注意,匯編語言源程序文件的擴展名最好起名為.ASM,這樣能給后面的匯編和連接操作帶來很大的方便。
3.用MASM.EXE匯編源程序產生OBJ目標文件
源文件HELLO.ASM建立后,要使用匯編程序對源程序文件匯編,匯編后產生二進制的目標文件(.OBJ文件)。具體操作如下:
方法一:在Windows中操作
用資源管理器打開源程序目錄C:\ASM,把HELLO.ASM拖到MASM.EXE程序圖標上。
方法二:在DOS命令提示符窗口中操作
選擇“開始”→“程序”→“附件”→“命令提示符”,打開DOS命令提示符窗口,然后用CD命令轉到源程序目錄下,接著輸入MASM命令:
操作時的屏幕顯示如圖3所示。
不管用以上二個方法中的哪個方法,進入MASM 程序后,都會提示讓你輸入目標文件名(Object filename),并在方括號中顯示默認的目標文件名,建議輸入目標文件的完整路徑名,如:C:\ASM\HELLO.OBJ〈回車〉。后面的兩個提示為可選項,直接按回車。注意,若打開MASM程序時未給出源程序名,則MASM程序會首先提示讓你輸入源程序文件名(Source filename),此時輸入源程序文件名HELLO.ASM并回車,然后進行的操作與上面完全相同。
如果沒有錯誤,MASM就會在當前目錄下建立一個HELLO.OBJ文件(名字與源文件名相同,只是擴展名不同)。如果源文件有錯誤,MASM會指出錯誤的行號和錯誤的原因。圖4是在匯編過程中檢查出兩個錯誤的例子。在這個例子中,可以看到源程序的錯誤類型有兩類:
在錯誤信息中,園括號里的數字為有錯誤的行號(在此例中,兩個錯誤分別出現在第6行和第9行),后面給出了錯誤類型及具體錯誤原因。如果出現了嚴重錯誤,你必須重新進入EDIT編輯器,根據錯誤的行號和錯誤原因來改正源程序中的錯誤,直到匯編沒有錯為止。
注意,匯編程序只能指出程序的語法錯誤,而無法指出程序邏輯的錯誤。
4.用LINK.EXE產生EXE可執行文件
在上一步驟中,匯編程序產生的是二進制目標文件(OBJ文件),并不是可執行文件,要想使我們編制的程序能夠運行,還必須用連接程序(LINK.EXE)把OBJ文件轉換為可執行的EXE文件。具體操作如下:
方法一:在Windows中操作
用資源管理器打開源程序目錄C:\ASM,把HELLO.OBJ拖到LINK.EXE程序圖標上。
方法二:在DOS命令提示符窗口中操作
選擇“開始”→“程序”→“附件”→“命令提示符”,打開DOS命令提示符窗口,然后用CD命令轉到源程序目錄下,接著輸入LINK命令:
操作時的屏幕顯示如圖5所示。
不管用以上二個方法中的哪個方法,進入LINK 程序后,都會提示讓你輸入可執行文件名(Run file),并在方括號中顯示默認的可執行文件名,建議輸入可執行文件的完整路徑名,如:C:\ASM\HELLO.EXE〈回車〉。后面的兩個提示為可選項,直接按回車。注意,若打開LINK程序時未給出OBJ文件名,則LINK程序會首先提示讓你輸入OBJ文件名(Object Modules),此時輸入OBJ文件名HELLO.OBJ并回車,然后進行的操作與上面完全相同。
如果沒有錯誤,LINK就會建立一個HELLO.EXE文件。如果OBJ文件有錯誤,LINK會指出錯誤的原因。對于無堆棧警告(Warning:NO STACK segment)信息,可以不予理睬,它不影響程序的執行。如鏈接時有其它錯誤。須檢查修改源程序,重新匯編、連接,直到正確。
5.執行程序
建立了HELLO.EXE文件后,就可以直接在DOS下運行此程序,如下所示:
C:>HELLO〈回車〉C:>程序運行結束后,返回DOS。如果運行結果正確,那么程序運行結束時結果會直接顯示在屏幕上。如果程序不顯示結果,我們如何知道程序是否正確呢?例如,這里的HELLO.EXE程序并未顯示出結果,所以我們不知道程序執行的結果是否正確。這時,我們就要使用TD.EXE調試工具來查看運行結果。此外,大部分程序必須經過調試階段才能糾正程序執行中的錯誤,調試程序時也要使用TD.EXE。
總結
以上是生活随笔為你收集整理的汇编语言程序设计的实验环境及上机步骤的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ls mac 显示最近修改日期_Find
- 下一篇: c语言灯塔案例求塔低数,C++:有一个8