8086/8088匯編語(yǔ)言,是在DOS環(huán)境下運行的編程語(yǔ)言,匯編語(yǔ)言是針對8086/8088 CPU的,凡兼容80X86指令系統的CPU ,都可以正常運行調試。如目前使用的Windows 2000 / Windows 2003 / Windows XP等系統下都可以編輯、調試匯編語(yǔ)言程序。
一、進(jìn)入編輯調試環(huán)境 1.開(kāi)始→運行,在運行框輸入CMD而后回車(chē),即進(jìn)入DOS環(huán)境。
2.開(kāi)始→程序→附件→C:命令提示符,也可進(jìn)入DOS 環(huán)境。
二、使用到的軟件程序
1.源程序編輯軟件:EDIT.EXE,也可用其他任意編輯軟件,如Windows環(huán)境下記事本,但最后擴展名要改為.ASM,否則無(wú)法匯編。
2.匯編程序(MASM.EXE或TASM.EXE),將編輯好的.ASM源程序匯編成目標文件.OBJ。OBJ是程序編譯后的二進(jìn)制文件,在通過(guò)鏈接器和資源文件鏈接就成exe文件,OBJ只給出了程序的相對地址,而EXE是絕對地址。
3.連接程序(LINK.EXE或TLINK.EXE),LINK又稱(chēng)鏈接器,把一個(gè)或多個(gè)目標文件(.obj)鏈接成可執行(.exe)文件。
4.調試程序(DEBUG.EXE或TD.EXE),DEBUG,俗稱(chēng)“抓臭蟲(chóng)”, DOS系統有力的偵錯,跟蹤程序運行,檢查系統數據的工具程序,它是在字符界面下以單字符命令方式工作。要很好地使用它必須具備一定的匯編程序設計和硬件基本知識的能力,當然,它為匯編語(yǔ)言程序員提供了有效的調試手段。
需要說(shuō)明的是,EDIT、MASM、LINK、DEBUG是微軟操作系統推出的匯編連接調試工具。在一般教學(xué)上使用就足夠了。
而TASM、TLINK、TD是Borland公司推出的。到目前為止,TASM的最后一個(gè)版本是5.0版,這個(gè)版本支持WIN32編程,并單獨為WIN32編程附帶有一整套32位程序:32位的編譯器TASM32.EXE、連接器TLINK32.EXE和資源編譯器BRC32.EXE。與這些32位程序對應的16位工具在軟件包中依然存在,文件名為T(mén)ASM.EXE,TLINK.EXE和BRC.EXE等。
三、程序編輯、匯編、連接操作步驟
下面以編輯下面小例子,程序運行時(shí)在屏幕上顯示“1 2 3 4 5 6 7 8 9”九個(gè)數字。說(shuō)明匯編語(yǔ)言程序編輯過(guò)程。
例5,編程,在屏幕上顯示1-9數字,中間留一空格,用INT 21H 2#調用。
程序:(xqb5.asm)
title 在屏幕上顯示1_9 ASCII數字
STACK SEGMENT PARA STACK 'SHOW1_9'
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,SS:STACK
START: MOV CL,0H ;計數單元置初值0
MOV BL,30H ;ASCII"0"
AGAIN: MOV DL,20H ;顯示ASCII空格
MOV AH,2 ;2#調用
INT 21H
INC BL ;bl--bl+1
MOV DL,BL
MOV AH,2 ;2#調用,顯示ASCII字符
INT 21H
INC CL
CMP CL,09H ;比較cl<=9?
JNE SHORT AGAIN ;若cl<=9,轉again
MOV AH,4CH ;若cl>9,退出程序,反dos
INT 21H
CODE ENDS
END START
??;運行驗證:
??;匯編、連接后,直接C:\123\>xqb5 <回車(chē)>
;顯示1 2 3 4 5 6 7 8 9
;按Ctrl+C,返回DOS窗口.
1.確定源程序的存放目錄
通過(guò)Windows的資源管理器找到C盤(pán)的根目錄,在C盤(pán)的根目錄窗口中點(diǎn)擊右鍵,在彈出的菜單中選擇“新建”→“文件夾”,并把新建的文件夾命名為123。并把EDIT.EXE、MASM.EXE、LINK.EXE、DENUG.EXE和TD.EXE都拷貝到此目錄中。
2.編輯源程序XQB5.ASM
(1)開(kāi)始→運行→在彈出的窗口中輸入CMD,點(diǎn)確定,進(jìn)入DOS窗口
(2)執行CD \123 ;進(jìn)入123子目錄
(3)執行EDIT XQB5.ASM 回車(chē)。顯示EDIT編輯窗口。按上例格式進(jìn)行編輯。菜單可以用Alt鍵激活,然后用方向鍵選擇菜單項,也可以直接用Alt-F打開(kāi)File文件菜單,用Alt-E打開(kāi)Edit編輯菜單,等等。
(4)編輯完后,存盤(pán)。用Alt-F打開(kāi)File菜單,用其中的Save功能將文件存盤(pán)。如果在鍵入EDIT命令時(shí)未給出源程序文件名,則這時(shí)會(huì )彈出一個(gè)“Save as”窗口,在這個(gè)窗口中輸入你想要保存的源程序的路徑和文件名(本例中為C:\123\XQB5.ASM)。
注:也可用Windows環(huán)境下記事本進(jìn)行編輯,存盤(pán)為.TXT文件,但要重新改名后擴展名要為.ASM。
3.匯編源程序形成目標文件OBJ
使用MASM匯編程序對編輯好的ASM文件進(jìn)行匯編,形成OBJ目標文件,同時(shí)也對ASM文件進(jìn)行查錯,顯示錯誤之處所在的行。
執行開(kāi)始→程序→附件→命令提示符,打開(kāi)DOS命令提示符窗口,然后用CD 命令轉到源程序目錄\123下。
C:>CD \123<回車(chē)>
C:\123>MASM XQB5.ASM<回車(chē)>
系統會(huì )提示讓你輸入目標文件名(Object filename),并在方括號中顯示默認的目標文件名,建議輸入目標文件的完整路徑名,如:C:\123\XQB5.OBJ〈回車(chē)〉。后面的兩個(gè)提示為可選項,直接按回車(chē)。注意,若打開(kāi)MASM程序時(shí)未給出源程序名,則MASM程序會(huì )首先提示讓你輸入源程序文件名(Source filename),此時(shí)輸入源程序文件名XQB5.ASM并回車(chē),然后進(jìn)行的操作與上面完全相同。
如果沒(méi)有錯誤,MASM就會(huì )在當前目錄下建立一個(gè)HELLO.OBJ文件(名字與源文件名相同,只是擴展名不同)。如果源文件有錯誤,MASM會(huì )指出錯誤的行號和錯誤的原因。源程序的錯誤類(lèi)型有兩類(lèi):
(1)警告錯誤(Warning Errors)。警告錯誤不影響程序的運行,但可能會(huì )得出錯誤的結果。此例中無(wú)警告錯誤。
(2)嚴重錯誤(Severe Errors)。對于嚴重錯誤,MASM將無(wú)法生成OBJ文件。
在錯誤信息中,園括號里的數字為有錯誤的行號,后面給出了錯誤類(lèi)型及具體錯誤原因。如果出現了嚴重錯誤,你必須重新進(jìn)入EDIT編輯器,根據錯誤的行號和錯誤原因來(lái)改正源程序中的錯誤,直到匯編沒(méi)有錯為止。
4.使用LINK連接程序形成可執行文件EXE
匯編程序產(chǎn)生的是二進(jìn)制目標文件(OBJ文件),并不是可執行文件,要想使我們編制的程序能夠運行,還必須用連接程序(LINK.EXE)把OBJ文件轉換為可執行的EXE文件。在DOS窗口具體操作如下:
C:>CD \123 <回車(chē)>
C:\123>LINK xqb5.OBJ <回車(chē)>
進(jìn)入LINK程序后,都會(huì )提示讓你輸入可執行文件名(Run file),并在方括號中顯示默認的可執行文件名,建議輸入可執行文件的完整路徑名,如:C:\123\XQB5.EXE〈回車(chē)〉。后面的兩個(gè)提示為可選項,直接按回車(chē)。注意,若打開(kāi)LINK程序時(shí)未給出OBJ文件名,則LINK程序會(huì )首先提示讓你輸入OBJ文件名(Object Modules),此時(shí)輸入OBJ文件名xqb5.OBJ并回車(chē),然后進(jìn)行的操作與上面完全相同。
如果沒(méi)有錯誤,LINK就會(huì )建立一個(gè)xqb.EXE文件。如果OBJ文件有錯誤,LINK會(huì )指出錯誤的原因。如鏈接時(shí)有其它錯誤。須檢查修改源程序,重新匯編、連接,直到正確。
5.運行連接好的可執行程序EXE
建立了xqb5.EXE文件后,就可以直接在DOS下運行此程序,如下所示:
C:\ CD\123
C:\123> xqb5〈回車(chē)〉
1 2 3 4 5 6 7 8 9
按Ctrl+C,返回原目錄.
C:\123>
程序運行結束后,返回DOS。如果運行結果正確,那么程序運行結束時(shí)結果會(huì )直接顯示在屏幕上。有些程序需按Ctrl+c鍵或Ctrl+Break來(lái)終止程序運行。如果程序不顯示結果,或程序進(jìn)入死循環(huán),這就要用DEBUG或TD來(lái)調試。
6.程序調試
調試程序可用DEBUG或TD來(lái)調試,也可在程序中設置斷點(diǎn),分段調試。
Debug是為DOS提供的有力的偵錯,跟蹤程序運行,檢查系統數據的工具程序,它是在字符界面下以單字符命令方式工作。要很好地使用它必須具備一定的匯編程序設計和硬件基本知識的能力。
TD是一功能較強的調試跟蹤工具,在DOS窗口,執行C:\123> TD xqb5.exe,即可啟動(dòng)并載入XQB>EXE文件。CPU窗口顯示了CPU和內存的整個(gè)狀態(tài)。利用CPU窗口可以:
* 在代碼區內使用嵌入匯編,輸入指令或對程序進(jìn)行臨時(shí)性修改。
* 存取數據區中任何數據結構下的字節,并以多種格式顯示或改變它們。
* 檢查和改變寄存器(包括標志寄存器)的內容。
CPU窗口分為五個(gè)區域:代碼區、寄存器區、標志區、數據區和堆棧區。
在五個(gè)區域中,光標所在區域稱(chēng)為當前區域,用戶(hù)可以使用Tab鍵或Shift-Tab鍵切換當前區域,也可以在相應區中單擊鼠標左鍵選中某區為當前區。