版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí)驗(yàn) 2 學(xué)習(xí)使用DEBUG 工具實(shí)驗(yàn)?zāi)康模簩W(xué)習(xí) DEBUG 工具 實(shí)驗(yàn)內(nèi)容:調(diào)試程序DEBUG為匯編語(yǔ)言設(shè)計(jì)的一種調(diào)試工具,通過(guò)單步、設(shè)置斷點(diǎn)等方式為匯編語(yǔ)言程序員提供了非常有 效的調(diào)試手段。在 DOS 的提示符下,可鍵入命令:CDEBUGd:pathfilename.exeparm1parm2d: 是 DEBUG 將要調(diào)試的文件所在的磁盤驅(qū)動(dòng)器。path: 是查找 DEBUG 將要調(diào)試的文件所需的子目錄路徑,若未指定,DOS 使用當(dāng)前目錄。filename.exe :是 DEBUG 將要調(diào)試的文件名。如果用戶鍵入文件名,則DEBUG 將指定的文件裝入存儲(chǔ)器中,用戶可對(duì)其進(jìn)行調(diào)試,如果未鍵入
2、文件名,則用戶可用當(dāng)前存儲(chǔ)器的內(nèi)容工作,或者用 DEBUG 命令 N 和 L 將需要的文件裝入存儲(chǔ)器后再進(jìn)行調(diào)試。parm1 和 parm2 :是為運(yùn)行被調(diào)試的程序(或文件)時(shí)所需的命令參數(shù)。在 DEBUG 程序調(diào)入后,將出現(xiàn)提示符_,此時(shí)就可用DEGUG 命令來(lái)調(diào)試程序。顯示存儲(chǔ)單元的命令D _Daddress 或 _Drange例如,按指定范圍顯示存儲(chǔ)單元內(nèi)容的方法為:-D100 120067C:0100 C7 D7 0D 0A 32 33 33 34 - D5 C5 B4 C6 30 10 42 0C 23340.B.067C:0110 03 41 42 43 44 45 46 47 -
3、 48 49 4A 4B 4C 4D 4E 4F .ABCDEFGHIJKLMNO 067C:0120 8B其中 0100 至 0120 是 DEBUG 顯示的單元內(nèi)容。左邊用十六進(jìn)制表示每個(gè)字節(jié),右邊用ASCII 字符表示每個(gè)字節(jié)?!?.表示不可顯示的字符。 ”這里沒(méi)有指定段地址,D 命令自動(dòng)顯示DS 段的內(nèi)容。如果只指定首地址,則顯示從首地址開(kāi)始的80 個(gè)字節(jié)的內(nèi)容。如果完全沒(méi)有指定地址,則顯示上一個(gè)D 命令顯示的最后一個(gè)單元后的內(nèi)容。修改存儲(chǔ)單元內(nèi)容的命令有兩種輸入命令E (Enter),有兩種格式如下:第一種格式可以用給定的內(nèi)容表來(lái)替代指定范圍的存儲(chǔ)單元內(nèi)容。命令格式為:-E addr
4、ess list例如,-E DS(具體值):100 F3XYZ8D其中F3,X Y;價(jià)8D各占一個(gè)字節(jié)該命令可以用這五個(gè)字節(jié)來(lái)替代存儲(chǔ)單元DS: 0100 到 0104 的原先的內(nèi)容。第二種格式則是采用逐個(gè)單元相繼修改的方法命令格式為:-E address例如,-E DS (具體值):100則可能顯示為:18E4: 0100 89.-如果需要把該單元的內(nèi)容修改為78,則可以直接鍵入 78,再按空格鍵可接著顯示下一個(gè)單元的內(nèi)容,如下:18E4: 0100 89._78 1B._這樣可以不斷修改相繼單元的內(nèi)容,直到Enter鍵結(jié)束該命令為止。填寫(xiě)命令F ( Fill)其格式為: -F range
5、list例如,-F 4BA:0100 0105 F3XYZ8D使04BA : 0100-0104單元包含指定的五個(gè)字節(jié)的內(nèi)容如果list中的字節(jié)數(shù)超過(guò)指定的范圍,則忽略超過(guò)的項(xiàng)如果list的字節(jié)數(shù)小于指定范圍,則重復(fù)使用list填入,直到填滿指定的所有單元為止。檢查和修改寄存器內(nèi)容的命令R ( Register)它有三種格式如下:顯示CPU內(nèi)所有寄存器內(nèi)容和標(biāo)志位狀態(tài),其格式為: -R例如, -rAX=0000 BX=0000 CX=010A DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000DS=18E4 ES=18E4 SS=18E4 CS=18E4 IP=01
6、00NV UP DI PL NZ NA PO NC18E4: 0100 C70604023801 MOV WORD PTR0204 , 0138DS:0204=0000標(biāo)志位狀態(tài)的含義標(biāo)志名標(biāo)志為1標(biāo) 志 為0溢出(是/否)OVNV方向(減量/增量)DNUP中斷(允許/關(guān)閉)ETDT符# (負(fù)/正)NGPL零(是/否)ZRNZ輔助進(jìn)位(是/否)ACNC奇偶(偶/奇)PEPO進(jìn)位(是/否)CVNC顯示和修改某個(gè)寄存器內(nèi)容,其格式為:-R register name例如,鍵入-r ax系統(tǒng)將響應(yīng)如下:AX F1F4即AX寄存器的當(dāng)前內(nèi)容為 F1F4,如不修改則按 Enter鍵,否則,鍵入欲修改的內(nèi)
7、容如: -r bxBX 0369: 059F則把 BX 寄存器的當(dāng)前內(nèi)容修改為059F。顯示和修改標(biāo)志位狀態(tài),命令格式為:-RF系統(tǒng)將響應(yīng),如:OV DN EI NG ZR AC PE CY -此時(shí)如不修改其內(nèi)容可按Enter 鍵,否則,建入欲修改的內(nèi)容,如:OV DN EI NG ZR AC PE CY -PONZDINV即可,鍵入的順序是任意的。運(yùn)行命令G( Go)其格式為-G =address1address2address3 .其中,地址1 指定了運(yùn)行的起始地址,如不指定則從當(dāng)前的CS:IP 開(kāi)始運(yùn)行。后面的地址均為斷點(diǎn)地址,當(dāng)指令執(zhí)行到斷點(diǎn)時(shí),就停止執(zhí)行并顯示當(dāng)前所有寄存器及標(biāo)志位的
8、內(nèi)容,和下一條將要執(zhí)行的指令。跟蹤命令T( Trace)有兩種格式:逐條指令跟蹤-T=address從指定地址起執(zhí)行一條指令后停下來(lái),顯示所有寄存器內(nèi)容及標(biāo)志位的值。如未指定則從當(dāng)前的 CS:IP 開(kāi)始執(zhí)行。多條指令跟蹤-T=addressvalue從指定地址起執(zhí)行n 條指令后停下來(lái),n 由 value 指定。若中斷用T執(zhí)行(例 MOV AH , 4CH INT 21H )則進(jìn)入 DOS,執(zhí)行BIOS的內(nèi)容匯編命令A(yù)( Assemble)其格式為:-A address該命令允許鍵入?yún)R編語(yǔ)言語(yǔ)句,并能把它們匯編成機(jī)器代碼,相繼地存放在從指定地址開(kāi)始的存儲(chǔ)區(qū)中。必須注意:DEBUG 把鍵入的數(shù)字均
9、看成十六進(jìn)制數(shù),所以如要鍵入十進(jìn)制數(shù),則其后應(yīng)加以說(shuō)明,如 100D。反匯編命令 U (Unassemble),有兩種格式:從指定地址開(kāi)始,反匯編32 個(gè)字節(jié),其格式為:-Urange 例如:-u 10018E4:0100C70604023801MOVWORDPTR0204,013818E4:0106C70606020002MOVWORDPTR0206,020018E4:010CC70608020202MOVWORDPTR0208,020218E4:0112BB0402MOVBX,020418E4:0115E80200CALL011A18E4:0118CD20INT2018E4:011A50P
10、USHAX18E4:011B51PUSHCX18E4:011C56PUSHSI18E4:011D57PUSHDI18E4:011E8B37MOVSI,BX如果地址被省略則從上一個(gè)U 命令的最后一條指令的下一個(gè)單元開(kāi)始顯示32 個(gè)字節(jié)。對(duì)指定范圍內(nèi)的存儲(chǔ)單元進(jìn)行反匯編,格式為:-Urange例如:-u 100 10C18E4:0100C70604023801MOVWORDPTR0204,013818E4:0106C70606020002MOVWORDPTR0206,020018E4:010CC70608020202MOVWORDPTR0208,0202或-u 100 11218E4:0100C7
11、0604023801MOVWORDPTR0204,013818E4:0106C70606020002MOVWORDPTR0206,020018E4:010CC70608020202MOVWORDPTR0208,0202這兩種格式是等效的。用反匯編命令U 來(lái)確定我們所要設(shè)定的斷點(diǎn)地址命名命令N (Name),其格式為:-N filespecs filespecs命令把兩個(gè)文件標(biāo)識(shí)符格式化在CS: 5CH 和 CS: 6CH 的兩個(gè)文件控制塊中,以便在其后用或 W 命令把文件裝入或存盤。filespecs 的格式可以是:d:path filename.exe 例如:-N myprog-L-可把文件
12、myprog 裝入存儲(chǔ)器。裝入命令L (Load),有兩種功能: 把磁盤上指定扇區(qū)范圍的內(nèi)容裝入到存儲(chǔ)器從指定地址開(kāi)始的區(qū)域中 其格式為:-Laddress drive sector sector裝入指定文件,其格式為:-Laddress此命令裝入已在CS: 5CH 中格式化了的文件控制塊所指定的文件。如未指定地址,則裝入 CS:0100開(kāi)始的存儲(chǔ)區(qū)中。寫(xiě)命令 W (Write),有兩種功能:把數(shù)據(jù)寫(xiě)入磁盤的指定扇區(qū)。其格式為:-W address drive sector sector把數(shù)據(jù)寫(xiě)入指定的文件中。其格式為:-W address此命令把指定的存儲(chǔ)區(qū)中的數(shù)據(jù)寫(xiě)入由CS: 5CH 處的
13、文件控制塊所指定的文件中。如未指定地址則數(shù)據(jù)從CS: 0100開(kāi)始。要寫(xiě)入文件的字節(jié)數(shù)應(yīng)先放入BX 和 CX 中。退出DEBUG命令Q (Quit),其格式為:-Q它退出DEBUG ,返回DOS。本命令無(wú)存盤功能,如需存盤應(yīng)先使用W命令。-AMOV AX,1234MOV BX,AX-T-T-A0100MOV DL , 35MOV AH , 2INT 21調(diào)用 DOS 21 號(hào)中斷 2號(hào)功能,用來(lái)逐個(gè)顯示裝入DL 的字符INT 20調(diào)用 DOS 20 號(hào)中斷,終止程序,將控制權(quán)交回給DEBUG-G-A0100MOV CX , 0100MOV DL , 00MOV AH , 02INT 21INC
14、 DLLOOP 0105INT 20-G-A0100MOV DX , 109MOV AH , 9INT 21INT 20DB UNDERSTAND? $-GSTACK SEGMENT STACKDB 200 DUP(0)STACK ENDSDATA SEGMENTPROG DB MOV AX,DATA,0DH,MOV DX,AX,0DH,MOV AX,0,0DH,MOV BX,2,0DH,MOV CX,10,0DH,ADD AX,BX,0DHDB .DB 1AHNUM DW 0DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACKBEGIN: MOV AX,DATAMOV DS,AX
溫馨提示
- 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高壓配電施工及設(shè)備供應(yīng)合同
- 2024年度四川省公共營(yíng)養(yǎng)師之三級(jí)營(yíng)養(yǎng)師綜合練習(xí)試卷B卷附答案
- 2024年度四川省公共營(yíng)養(yǎng)師之二級(jí)營(yíng)養(yǎng)師題庫(kù)檢測(cè)試卷B卷附答案
- 新型復(fù)合材料項(xiàng)目可行性研究報(bào)告模板及范文
- 2022-2027年中國(guó)止吐藥行業(yè)市場(chǎng)全景評(píng)估及發(fā)展戰(zhàn)略規(guī)劃報(bào)告
- 2024年中國(guó)高鐵行業(yè)數(shù)據(jù)報(bào)告(純數(shù)據(jù)版)
- 2022-2027年中國(guó)甜品店行業(yè)市場(chǎng)運(yùn)行現(xiàn)狀及投資規(guī)劃建議報(bào)告
- 2025年培訓(xùn)學(xué)習(xí)計(jì)劃效果評(píng)估報(bào)告
- 2025年中國(guó)無(wú)損傷心功能檢測(cè)儀行業(yè)發(fā)展趨勢(shì)預(yù)測(cè)及投資戰(zhàn)略咨詢報(bào)告
- 2022-2027年中國(guó)高爾夫服裝制造行業(yè)市場(chǎng)運(yùn)行現(xiàn)狀及投資戰(zhàn)略研究報(bào)告
- GB/T 44890-2024行政許可工作規(guī)范
- 軍工合作合同范例
- 【7地XJ期末】安徽省宣城市寧國(guó)市2023-2024學(xué)年七年級(jí)上學(xué)期期末考試地理試題(含解析)
- 2025年中國(guó)稀土集團(tuán)總部部分崗位社會(huì)公開(kāi)招聘管理單位筆試遴選500模擬題附帶答案詳解
- 超市柜臺(tái)長(zhǎng)期出租合同范例
- 廣東省廣州市2025屆高三上學(xué)期12月調(diào)研測(cè)試語(yǔ)文試題(含答案)
- 【8物(科)期末】合肥市第四十五中學(xué)2023-2024學(xué)年八年級(jí)上學(xué)期期末物理試題
- 統(tǒng)編版2024-2025學(xué)年三年級(jí)語(yǔ)文上冊(cè)期末學(xué)業(yè)質(zhì)量監(jiān)測(cè)試卷(含答案)
- 從0 開(kāi)始運(yùn)營(yíng)抖?音號(hào)sop 文檔
- Module7 Unit2 This little girl can't walk(Period 1) (教學(xué)實(shí)錄) -2024-2025學(xué)年外研版(三起)英語(yǔ)五年級(jí)上冊(cè)
- 施工臨建布置方案
評(píng)論
0/150
提交評(píng)論