匯編語(yǔ)言程序設計的實(shí)驗環(huán)境及上機步驟
一、 實(shí)驗環(huán)境
匯編語(yǔ)言程序設計的實(shí)驗環(huán)境如下:
1. 硬件環(huán)境
微型計算機(Intel x86系列CPU)一臺
2. 軟件環(huán)境
n Windows98/2000/XP操作系統
n 任意一種文本編輯器(EDIT、NOTEPAD(記事本)、UltraEDIT等)
n 匯編程序(MASM.EXE或TASM.EXE)
n 連接程序(LINK.EXE或TLINK.EXE)
n 調試程序(DEBUG.EXE或TD.EXE)
文本編輯器建議使用EDIT或NOTEPAD,匯編程序建議使用MASM.EXE,連接程序建議使用LINK.EXE,調試程序建議使用TD.EXE。
二、 上機實(shí)驗步驟
注:以下步驟適用于除匯編語(yǔ)言程序設計的實(shí)驗一到實(shí)驗四外的所有實(shí)驗(實(shí)驗一到實(shí)驗四僅使用TD.EXE)。
1.確定源程序的存放目錄
建議源程序存放的目錄名為ASM(或MASM),并放在C盤(pán)或D盤(pán)的根目錄下。如果沒(méi)有創(chuàng )建過(guò)此目錄,請用如下方法創(chuàng )建:
通過(guò)Windows的資源管理器找到C盤(pán)的根目錄,在C盤(pán)的根目錄窗口中點(diǎn)擊右鍵,在彈出的菜單中選擇“新建”→“文件夾”,并把新建的文件夾命名為ASM。
請把MASM.EXE、LINK.EXE、DENUG.EXE和TD.EXE都拷貝到此目錄中。
2.建立ASM源程序
建立ASM源程序可以使用EDIT或NOTEPAD(記事本)文本編輯器。下面的例子說(shuō)明了用EDIT文本編輯器來(lái)建立ASM源程序的步驟(假定要建立的源程序名為HELLO.ASM),用NOTEPAD(記事本)建立ASM源程序的步驟與此類(lèi)似。
在Windows中點(diǎn)擊桌面左下角的“開(kāi)始”按鈕→選擇“運行”→在彈出的窗口中輸入“EDIT.COM C:\ASM\HELLO.ASM”,屏幕上出現EDIT的編輯窗口,如圖1所示。
圖1 文本編輯器EDIT的編輯窗口
窗口標題行顯示了EDIT程序的完整路徑名。緊接著(zhù)標題行下面的是菜單行,窗口最下面一行是提示行。菜單可以用Alt鍵激活,然后用方向鍵選擇菜單項,也可以直接用Alt-F打開(kāi)File文件菜單,用Alt-E打開(kāi)Edit編輯菜單,等等。
如果鍵入EDIT命令時(shí)已帶上了源程序文件名(C:\ASM\HELLO.ASM),在編輯窗口上部就會(huì )顯示該文件名。如果在鍵入EDIT命令時(shí)未給出源程序文件名,則編輯窗口上會(huì )顯示“UNTITLED1”,表示文件還沒(méi)有名字,在這種情況下保存源程序文件時(shí),EDIT會(huì )提示輸入要保存的源程序的文件名。
編輯窗口用于輸入源程序。EDIT是一個(gè)全屏幕編輯程序,故可以使用方向鍵把光標定位到編輯窗口中的任何一個(gè)位置上。EDIT中的編輯鍵和功能鍵符合Windows的標準,這里不再贅述。
源程序輸入完畢后,用Alt-F打開(kāi)File菜單,用其中的Save功能將文件存盤(pán)。如果在鍵入EDIT命令時(shí)未給出源程序文件名,則這時(shí)會(huì )彈出一個(gè)“Save as”窗口,在這個(gè)窗口中輸入你想要保存的源程序的路徑和文件名(本例中為C:\ASM\HELLO.ASM)。
3.用MASM.EXE匯編源程序產(chǎn)生OBJ目標文件
源文件HELLO.ASM建立后,要使用匯編程序對源程序文件匯編,匯編后產(chǎn)生二進(jìn)制的目標文件(.OBJ文件)。具體操作如下:
用資源管理器打開(kāi)源程序目錄C:\ASM,把HELLO.ASM拖到MASM.EXE程序圖標上。
選擇“開(kāi)始”→“程序”→“附件”→“命令提示符”,打開(kāi)DOS命令提示符窗口,然后用CD命令轉到源程序目錄下,接著(zhù)輸入MASM命令:
I:>C:<回車(chē)>
C:>CD \ASM<回車(chē)>
C:\ASM>MASM HELLO.ASM<回車(chē)>
操作時(shí)的屏幕顯示如圖2所示。
圖2 在DOS命令提示符窗口中進(jìn)行匯編
不管用以上二個(gè)方法中的哪個(gè)方法,進(jìn)入MASM程序后,都會(huì )提示讓你輸入目標文件名(Object filename),并在方括號中顯示默認的目標文件名,建議輸入目標文件的完整路徑名,如:C:\ASM\HELLO.OBJ〈回車(chē)〉。后面的兩個(gè)提示為可選項,直接按回車(chē)。注意,若打開(kāi)MASM程序時(shí)未給出源程序名,則MASM程序會(huì )首先提示讓你輸入源程序文件名(Source filename),此時(shí)輸入源程序文件名HELLO.ASM并回車(chē),然后進(jìn)行的操作與上面完全相同。
圖3 有錯誤的匯編過(guò)程例子
如果沒(méi)有錯誤,MASM就會(huì )在當前目錄下建立一個(gè)HELLO.OBJ文件(名字與源文件名相同,只是擴展名不同)。如果源文件有錯誤,MASM會(huì )指出錯誤的行號和錯誤的原因。圖3是在匯編過(guò)程中檢查出兩個(gè)錯誤的例子。在這個(gè)例子中,可以看到源程序的錯誤類(lèi)型有兩類(lèi):
在錯誤信息中,園括號里的數字為有錯誤的行號(在此例中,兩個(gè)錯誤分別出現在第6行和第9行),后面給出了錯誤類(lèi)型及具體錯誤原因。如果出現了嚴重錯誤,你必須重新進(jìn)入EDIT編輯器,根據錯誤的行號和錯誤原因來(lái)改正源程序中的錯誤,直到匯編沒(méi)有錯為止。
4.用LINK.EXE產(chǎn)生EXE可執行文件
在上一步驟中,匯編程序產(chǎn)生的是二進(jìn)制目標文件(OBJ文件),并不是可執行文件,要想使我們編制的程序能夠運行,還必須用連接程序(LINK.EXE)把OBJ文件轉換為可執行的EXE文件。具體操作如下:
用資源管理器打開(kāi)源程序目錄C:\ASM,把HELLO.OBJ拖到LINK.EXE程序圖標上。
選擇“開(kāi)始”→“程序”→“附件”→“命令提示符”,打開(kāi)DOS命令提示符窗口,然后用CD命令轉到源程序目錄下,接著(zhù)輸入LINK命令:
I:>C:<回車(chē)>
C:>CD \ASM<回車(chē)>
C:\ASM>LINK HELLO.OBJ<回車(chē)>
操作時(shí)的屏幕顯示如圖4所示。
圖4 把OBJ文件連接成可執行文件
不管用以上二個(gè)方法中的哪個(gè)方法,進(jìn)入LINK程序后,都會(huì )提示讓你輸入可執行文件名(Run file),并在方括號中顯示默認的可執行文件名,建議輸入可執行文件的完整路徑名,如:C:\ASM\HELLO.EXE〈回車(chē)〉。后面的兩個(gè)提示為可選項,直接按回車(chē)。注意,若打開(kāi)LINK程序時(shí)未給出OBJ文件名,則LINK程序會(huì )首先提示讓你輸入OBJ文件名(Object Modules),此時(shí)輸入OBJ文件名HELLO.OBJ并回車(chē),然后進(jìn)行的操作與上面完全相同。
如果沒(méi)有錯誤,LINK就會(huì )建立一個(gè)HELLO.EXE文件。如果OBJ文件有錯誤,LINK會(huì )指出錯誤的原因。對于無(wú)堆棧警告(Warning:NO STACK segment)信息,可以不予理睬,它不影響程序的執行。如鏈接時(shí)有其它錯誤。須檢查修改源程序,重新匯編、連接,直到正確。
5.執行程序
建立了HELLO.EXE文件后,就可以直接在DOS下運行此程序,如下所示:
C:>HELLO〈回車(chē)〉
C:>
程序運行結束后,返回DOS。如果運行結果正確,那么程序運行結束時(shí)結果會(huì )直接顯示在屏幕上。如果程序不顯示結果,我們如何知道程序是否正確呢?例如,這里的HELLO.EXE程序并未顯示出結果,所以我們不知道程序執行的結果是否正確。這時(shí),我們就要使用TD.EXE調試工具來(lái)查看運行結果。此外,大部分程序必須經(jīng)過(guò)調試階段才能糾正程序執行中的錯誤,調試程序時(shí)也要使用TD.EXE。
聯(lián)系客服