版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
匯編語(yǔ)言程序的上機(jī)過(guò)程要運(yùn)行調(diào)試匯編語(yǔ)言程序,需要以下程序文件:編輯程序EDIT.COM或其他文本編輯工具軟件,用于編輯源程序。匯編程序MASM.EXE,用于匯編源程序,得到目標(biāo)程序。連接程序LINK.EXE,用于連接目標(biāo)程序,得到可執(zhí)行程序。調(diào)試程序DEBUG.EXE,用于調(diào)試可執(zhí)行程序。上機(jī)過(guò)程匯編語(yǔ)言程序上機(jī)操作包括以下幾個(gè)階段:編輯、匯編、連接和調(diào)試。1.編輯源程序用文本編輯軟件創(chuàng)建、編輯匯編源程序。常用編輯工具有:EDIT.COM、記事本、Word等。無(wú)論采用何種編輯工具,生成的文件必須是純文本文件,所有字符為半角,且文件擴(kuò)展名為.asm(文件名不分大小寫,由1~8個(gè)字符組成)。上機(jī)過(guò)程(續(xù))2.匯編用匯編軟件MASM對(duì)上述源程序文件(.asm)進(jìn)行匯編,產(chǎn)生目標(biāo)文件(.obj)等。匯編軟件MASM的主要功能是:檢查源程序的語(yǔ)法,給出錯(cuò)誤信息;建立目標(biāo)程序文件;展開(kāi)宏指令。如果匯編過(guò)程中發(fā)現(xiàn)有語(yǔ)法錯(cuò)誤,則屏幕上會(huì)顯示出錯(cuò)語(yǔ)言的位置和出錯(cuò)的類型。此時(shí),需要進(jìn)行修改,然后再進(jìn)行匯編。如此進(jìn)行,直至匯編無(wú)錯(cuò)誤,得到目標(biāo)文件為止。上機(jī)過(guò)程(續(xù))對(duì)源程序MYFILE.ASM進(jìn)行匯編的方法:在DOS狀態(tài)下,輸入命令即啟動(dòng)了匯編程序。
MASMMYFILE.ASM(回車)此命令執(zhí)行后,會(huì)出現(xiàn)下面的3行信息,依次按回車鍵(即選擇默認(rèn)值)即可建立目標(biāo)文件MYFILE.OBJ。Object Filename[MYFILE.OBJ]:Source Listing[Nul.LST]:Cross Reference[Nul.CRF]:上機(jī)過(guò)程(續(xù))3.連接匯編產(chǎn)生的目標(biāo)文件(.OBJ)并不是可執(zhí)行的程序,還要用連接程序把它轉(zhuǎn)換為可執(zhí)行的EXE文件。連接方法如下:在DOS狀態(tài)下,輸入命令即可完成連接:
LINKMYFILE.OBJ(回車)如果連接過(guò)程中出錯(cuò),那么程序會(huì)在屏幕上顯示提示信息。此時(shí),需要對(duì)源程序進(jìn)行查錯(cuò)、修改,然后再進(jìn)行匯編、連接,直至連接無(wú)錯(cuò)誤,得到可執(zhí)行文件(.EXE)為止。上機(jī)過(guò)程(續(xù))4.程序運(yùn)行在DOS提示符下輸入可執(zhí)行程序的文件名即可運(yùn)行程序。若程序能夠運(yùn)行但不能得到預(yù)期結(jié)果,則就需要檢查源程序,改錯(cuò)后再匯編、連接、運(yùn)行。5.程序調(diào)試在程序運(yùn)行階段,有時(shí)不容易發(fā)現(xiàn)問(wèn)題,這時(shí)就需要使用調(diào)試工具進(jìn)行動(dòng)態(tài)查錯(cuò)。常用的動(dòng)態(tài)調(diào)試工具為DEBUG。利用DEBUG進(jìn)行程序的運(yùn)行調(diào)試DEBUG是為匯編語(yǔ)言設(shè)計(jì)的一種調(diào)試工具。它通過(guò)單步、設(shè)置斷點(diǎn)等方式為匯編語(yǔ)言程序員提供了非常有效的調(diào)試手段。它可以直接調(diào)試COM文件和EXE文件。DEBUG狀態(tài)下的所有數(shù)據(jù)都采用十六進(jìn)制形式顯示,無(wú)后綴H。運(yùn)行調(diào)試(續(xù))1.DEBUG的運(yùn)行在DOS狀態(tài)下,輸入下列命令之一,就可以進(jìn)入DEBUG調(diào)試狀態(tài)。命令一:DEBUG↙(回車)格式二:DEBUG可執(zhí)行文件名↙(回車)進(jìn)入DEBUG調(diào)試狀態(tài)后,將顯示提示符“-”,此時(shí),可輸入所需的DEBUG命令。運(yùn)行調(diào)試-DEBUG的主要命令(1)顯示內(nèi)存單元內(nèi)容的命令D格式為:-D[地址]或-D[范圍]說(shuō)明:上面格式中的“-”符號(hào)是DEBUG的提示符,下同。例如,顯示指定范圍(DS:100~DS:1FF)內(nèi)存單元內(nèi)容的命令是:-D10010F這里沒(méi)有指定段地址,D命令自動(dòng)顯示DS段的內(nèi)容。運(yùn)行調(diào)試-DEBUG的主要命令(2)修改內(nèi)存單元內(nèi)容的命令E格式一:用給定內(nèi)容代替指定范圍的單元內(nèi)容-E地址內(nèi)容表例如,-EDS:100F3
58
59
5A
8D格式二:逐個(gè)單元相繼地修改-E地址例如:-EDS:100↙18E4:010089.78↙此命令是將0100單元內(nèi)容89改為78。78是程序員從鍵盤輸入的。程序員在修改完一個(gè)單元后,可按空格鍵繼續(xù)修改下一單元內(nèi)容,直至按回車鍵結(jié)束該命令。運(yùn)行調(diào)試-DEBUG的主要命令(3)檢查和修改寄存器內(nèi)容的命令R格式一:顯示CPU內(nèi)部所有寄存器內(nèi)容和標(biāo)志寄存器中的各標(biāo)志位狀態(tài)-R格式二:顯示和修改某個(gè)指定寄存器內(nèi)容-R寄存器名例如:-RAX格式三:顯示和修改標(biāo)志寄存器內(nèi)容-RF運(yùn)行調(diào)試-DEBUG的主要命令(4)運(yùn)行命令G格式為:-G[=地址1][地址2[地址3…]]其中,地址1指定了運(yùn)行的起始地址,后面的均為斷點(diǎn)地址。當(dāng)指令執(zhí)行到斷點(diǎn)時(shí),就停止執(zhí)行并顯示當(dāng)前所有寄存器及標(biāo)志位的內(nèi)容和下一條要執(zhí)行的指令。運(yùn)行調(diào)試-DEBUG的主要命令(5)跟蹤命令T格式一:逐條指令跟蹤-T[=地址]該命令從指定地址起執(zhí)行一條指令后停下來(lái),顯示所有寄存器及標(biāo)志位的內(nèi)容。若未指定地址,則從當(dāng)前的CS:IP開(kāi)始執(zhí)行。格式二:多條指令跟蹤-T[=地址][值]該命令從指定地址起執(zhí)行n條指令后停下來(lái),n由[值]確定。運(yùn)行調(diào)試-DEBUG的主要命令(6)匯編命令A(yù)格式為:-A[地址]該命令允許輸入?yún)R編語(yǔ)言語(yǔ)句,并能把它們匯編成機(jī)器代碼,相繼地存放在從指定地址開(kāi)始的存儲(chǔ)區(qū)中。必須注意:輸入的數(shù)字均默認(rèn)為十六進(jìn)制數(shù)。運(yùn)行調(diào)試-DEBUG的主要命令(7)反匯編命令U格式一:從指定地址開(kāi)始,反匯編32字節(jié)-U[地址]格式二:對(duì)指定范圍內(nèi)的存儲(chǔ)單元進(jìn)行反匯編-U[范圍]運(yùn)行調(diào)試-DEBUG的主要命令(8)執(zhí)行命令P格式為:-P[=地址][指令數(shù)]該命令控制CPU執(zhí)行指定地址處的指令。若指定了指令數(shù),則CPU執(zhí)行從指定地址開(kāi)始的若干條指令。若未指定地址和指令數(shù),則CPU執(zhí)行由(CS:IP)指定地址處的一條指令。P命令與T命令的差別在于:P命令把子程序調(diào)用(CALL)、重復(fù)字符串指令(REP)或軟件中斷(INT)當(dāng)成一條指令來(lái)執(zhí)行,簡(jiǎn)化了跟蹤過(guò)程。運(yùn)行調(diào)試-DEBUG的主要命令(9)退出DEBUG命令Q格式為:-Q該命令退出DEBUG程序,返回DOS。運(yùn)行調(diào)試-DEBUG使用說(shuō)明①在DEBUG中的提示符“-”下才能輸入命令,在按回車鍵后,該命令才開(kāi)始執(zhí)行。②命令是單個(gè)字母,命令和參數(shù)的大小寫可混合輸入。③命令和參數(shù)、參數(shù)和參數(shù)之間要用空格、逗號(hào)或制表符等分隔。④可以用“段值:偏移量”的形式來(lái)表示地址,也可以用段寄存器來(lái)代表“段值”。例如,1000:0,DS:10,CS:30等。運(yùn)行調(diào)試-DEBUG使用說(shuō)明(續(xù))⑤范圍:用來(lái)表示地址范圍,從哪個(gè)地址開(kāi)始,到哪個(gè)地址結(jié)束。它有兩種表示方式:地址地址——前者表示起始地址,要用“段值:偏移量”來(lái)表達(dá),后者表示終止地址,只用“偏移量”來(lái)表示。例如:100:50100地址長(zhǎng)度——前者表示起始地址,要用“段值:偏移量”來(lái)表達(dá),后者表示該區(qū)域的大
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025死亡賠償協(xié)議書格式
- 黑素瘤病因介紹
- 協(xié)議書汽車轉(zhuǎn)讓模板
- 合同戰(zhàn)略合作協(xié)議
- 代理合作協(xié)議范本大全
- 公司保密協(xié)議案例
- 顱內(nèi)靜脈血栓形成病因介紹
- 2023夫妻結(jié)婚前協(xié)議書七篇
- 關(guān)于采購(gòu)協(xié)議
- 中醫(yī)藥健康知識(shí)講座
- 2023年報(bào)告文學(xué)研究(自考)(重點(diǎn))題庫(kù)(帶答案)
- 國(guó)軍淞滬會(huì)戰(zhàn)
- 2023年湖南體育職業(yè)學(xué)院高職單招(語(yǔ)文)試題庫(kù)含答案解析
- GB/T 39314-2020鋁合金石膏型鑄造通用技術(shù)導(dǎo)則
- 裝飾裝修施工質(zhì)量檢查評(píng)分表
- 非開(kāi)挖施工技術(shù)講稿課件
- 單絨毛膜雙羊膜囊雙胎2022優(yōu)秀課件
- 《思想道德與法治》 課件 第四章 明確價(jià)值要求 踐行價(jià)值準(zhǔn)則
- 北師大版八年級(jí)上數(shù)學(xué)競(jìng)賽試卷
- 幼兒園講座:課程游戲化、生活化建設(shè)的背景與目的課件
- 地理信息系統(tǒng)(GIS)公開(kāi)課(課堂)課件
評(píng)論
0/150
提交評(píng)論