匯編語言程序上機過程_第1頁
匯編語言程序上機過程_第2頁
匯編語言程序上機過程_第3頁
匯編語言程序上機過程_第4頁
匯編語言程序上機過程_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

匯編語言程序的上機過程要運行調(diào)試匯編語言程序,需要以下程序文件:編輯程序EDIT.COM或其他文本編輯工具軟件,用于編輯源程序。匯編程序MASM.EXE,用于匯編源程序,得到目標程序。連接程序LINK.EXE,用于連接目標程序,得到可執(zhí)行程序。調(diào)試程序DEBUG.EXE,用于調(diào)試可執(zhí)行程序。上機過程匯編語言程序上機操作包括以下幾個階段:編輯、匯編、連接和調(diào)試。1.編輯源程序用文本編輯軟件創(chuàng)建、編輯匯編源程序。常用編輯工具有:EDIT.COM、記事本、Word等。無論采用何種編輯工具,生成的文件必須是純文本文件,所有字符為半角,且文件擴展名為.asm(文件名不分大小寫,由1~8個字符組成)。上機過程(續(xù))2.匯編用匯編軟件MASM對上述源程序文件(.asm)進行匯編,產(chǎn)生目標文件(.obj)等。匯編軟件MASM的主要功能是:檢查源程序的語法,給出錯誤信息;建立目標程序文件;展開宏指令。如果匯編過程中發(fā)現(xiàn)有語法錯誤,則屏幕上會顯示出錯語言的位置和出錯的類型。此時,需要進行修改,然后再進行匯編。如此進行,直至匯編無錯誤,得到目標文件為止。上機過程(續(xù))對源程序MYFILE.ASM進行匯編的方法:在DOS狀態(tài)下,輸入命令即啟動了匯編程序。

MASMMYFILE.ASM(回車)此命令執(zhí)行后,會出現(xiàn)下面的3行信息,依次按回車鍵(即選擇默認值)即可建立目標文件MYFILE.OBJ。Object Filename[MYFILE.OBJ]:Source Listing[Nul.LST]:Cross Reference[Nul.CRF]:上機過程(續(xù))3.連接匯編產(chǎn)生的目標文件(.OBJ)并不是可執(zhí)行的程序,還要用連接程序把它轉(zhuǎn)換為可執(zhí)行的EXE文件。連接方法如下:在DOS狀態(tài)下,輸入命令即可完成連接:

LINKMYFILE.OBJ(回車)如果連接過程中出錯,那么程序會在屏幕上顯示提示信息。此時,需要對源程序進行查錯、修改,然后再進行匯編、連接,直至連接無錯誤,得到可執(zhí)行文件(.EXE)為止。上機過程(續(xù))4.程序運行在DOS提示符下輸入可執(zhí)行程序的文件名即可運行程序。若程序能夠運行但不能得到預期結(jié)果,則就需要檢查源程序,改錯后再匯編、連接、運行。5.程序調(diào)試在程序運行階段,有時不容易發(fā)現(xiàn)問題,這時就需要使用調(diào)試工具進行動態(tài)查錯。常用的動態(tài)調(diào)試工具為DEBUG。利用DEBUG進行程序的運行調(diào)試DEBUG是為匯編語言設計的一種調(diào)試工具。它通過單步、設置斷點等方式為匯編語言程序員提供了非常有效的調(diào)試手段。它可以直接調(diào)試COM文件和EXE文件。DEBUG狀態(tài)下的所有數(shù)據(jù)都采用十六進制形式顯示,無后綴H。運行調(diào)試(續(xù))1.DEBUG的運行在DOS狀態(tài)下,輸入下列命令之一,就可以進入DEBUG調(diào)試狀態(tài)。命令一:DEBUG↙(回車)格式二:DEBUG可執(zhí)行文件名↙(回車)進入DEBUG調(diào)試狀態(tài)后,將顯示提示符“-”,此時,可輸入所需的DEBUG命令。運行調(diào)試-DEBUG的主要命令(1)顯示內(nèi)存單元內(nèi)容的命令D格式為:-D[地址]或-D[范圍]說明:上面格式中的“-”符號是DEBUG的提示符,下同。例如,顯示指定范圍(DS:100~DS:1FF)內(nèi)存單元內(nèi)容的命令是:-D10010F這里沒有指定段地址,D命令自動顯示DS段的內(nèi)容。運行調(diào)試-DEBUG的主要命令(2)修改內(nèi)存單元內(nèi)容的命令E格式一:用給定內(nèi)容代替指定范圍的單元內(nèi)容-E地址內(nèi)容表例如,-EDS:100F3

58

59

5A

8D格式二:逐個單元相繼地修改-E地址例如:-EDS:100↙18E4:010089.78↙此命令是將0100單元內(nèi)容89改為78。78是程序員從鍵盤輸入的。程序員在修改完一個單元后,可按空格鍵繼續(xù)修改下一單元內(nèi)容,直至按回車鍵結(jié)束該命令。運行調(diào)試-DEBUG的主要命令(3)檢查和修改寄存器內(nèi)容的命令R格式一:顯示CPU內(nèi)部所有寄存器內(nèi)容和標志寄存器中的各標志位狀態(tài)-R格式二:顯示和修改某個指定寄存器內(nèi)容-R寄存器名例如:-RAX格式三:顯示和修改標志寄存器內(nèi)容-RF運行調(diào)試-DEBUG的主要命令(4)運行命令G格式為:-G[=地址1][地址2[地址3…]]其中,地址1指定了運行的起始地址,后面的均為斷點地址。當指令執(zhí)行到斷點時,就停止執(zhí)行并顯示當前所有寄存器及標志位的內(nèi)容和下一條要執(zhí)行的指令。運行調(diào)試-DEBUG的主要命令(5)跟蹤命令T格式一:逐條指令跟蹤-T[=地址]該命令從指定地址起執(zhí)行一條指令后停下來,顯示所有寄存器及標志位的內(nèi)容。若未指定地址,則從當前的CS:IP開始執(zhí)行。格式二:多條指令跟蹤-T[=地址][值]該命令從指定地址起執(zhí)行n條指令后停下來,n由[值]確定。運行調(diào)試-DEBUG的主要命令(6)匯編命令A格式為:-A[地址]該命令允許輸入?yún)R編語言語句,并能把它們匯編成機器代碼,相繼地存放在從指定地址開始的存儲區(qū)中。必須注意:輸入的數(shù)字均默認為十六進制數(shù)。運行調(diào)試-DEBUG的主要命令(7)反匯編命令U格式一:從指定地址開始,反匯編32字節(jié)-U[地址]格式二:對指定范圍內(nèi)的存儲單元進行反匯編-U[范圍]運行調(diào)試-DEBUG的主要命令(8)執(zhí)行命令P格式為:-P[=地址][指令數(shù)]該命令控制CPU執(zhí)行指定地址處的指令。若指定了指令數(shù),則CPU執(zhí)行從指定地址開始的若干條指令。若未指定地址和指令數(shù),則CPU執(zhí)行由(CS:IP)指定地址處的一條指令。P命令與T命令的差別在于:P命令把子程序調(diào)用(CALL)、重復字符串指令(REP)或軟件中斷(INT)當成一條指令來執(zhí)行,簡化了跟蹤過程。運行調(diào)試-DEBUG的主要命令(9)退出DEBUG命令Q格式為:-Q該命令退出DEBUG程序,返回DOS。運行調(diào)試-DEBUG使用說明①在DEBUG中的提示符“-”下才能輸入命令,在按回車鍵后,該命令才開始執(zhí)行。②命令是單個字母,命令和參數(shù)的大小寫可混合輸入。③命令和參數(shù)、參數(shù)和參數(shù)之間要用空格、逗號或制表符等分隔。④可以用“段值:偏移量”的形式來表示地址,也可以用段寄存器來代表“段值”。例如,1000:0,DS:10,CS:30等。運行調(diào)試-DEBUG使用說明(續(xù))⑤范圍:用來表示地址范圍,從哪個地址開始,到哪個地址結(jié)束。它有兩種表示方式:地址地址——前者表示起始地址,要用“段值:偏移量”來表達,后者表示終止地址,只用“偏移量”來表示。例如:100:50100地址長度——前者表示起始地址,要用“段值:偏移量”來表達,后者表示該區(qū)域的大

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論