




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1. DEBUG命令簡介啟動(dòng)DEBUG的一般命令如下:DEBUG 文件名 參數(shù)表其中:文件名指定被調(diào)試的文件,其包括名和后綴,參數(shù)表是被調(diào)試文件運(yùn)行時(shí)所需要的參數(shù)。被調(diào)試的文件可以是系統(tǒng)中的任何文件,但通常它們的后綴為.EXE或.COM。當(dāng)DEBUG啟動(dòng)成功后,將顯示連接符“-”,這時(shí),可輸入各種DEBUG命令。DEBUG中標(biāo)志位的符號(hào)表示如表1所示,其所有命令及其含義如表2所示。關(guān)于參數(shù)的幾點(diǎn)說明:1. 進(jìn)制:在DEBUG中輸入或顯示的數(shù)據(jù)都是十六進(jìn)制形式表1 DEBUG中標(biāo)志位的符號(hào)表示標(biāo)志名稱溢出OF方向DF中斷IF負(fù)號(hào)SF零ZF輔助進(jìn)位AF奇偶PF進(jìn)位CF置位狀態(tài)OVDNEINGZRA
2、CPECY復(fù)位狀態(tài)NVUPDIPLNZNAPONC表2 DEBUG命令及其含義命令格式功能說明A地址輸入?yún)R編指令C范圍 起始地址對由“范圍”指定的區(qū)域與“起始地址”指定的同大小區(qū)域進(jìn)行比較,顯示不相同的單元D范圍顯示指定范圍內(nèi)的內(nèi)存單元內(nèi)容E地址 字節(jié)值表用值表中的值替換從“地址”開始的內(nèi)存單元內(nèi)容F范圍 字節(jié)值表用指定的字節(jié)值表來填充內(nèi)存區(qū)域G=起始地址 斷點(diǎn)地址從起點(diǎn)(或當(dāng)前地點(diǎn))開始執(zhí)行,到終點(diǎn)結(jié)束H數(shù)值1 數(shù)值2顯示二個(gè)十六進(jìn)制數(shù)值之和、差I(lǐng)端口地址從端口輸入L地址 驅(qū)動(dòng)器號(hào) 扇區(qū) 扇區(qū)數(shù)從磁盤讀M范圍 地址把“范圍”內(nèi)的字節(jié)值傳送到從“地址”開始的單元N文件標(biāo)識(shí)符 文件標(biāo)識(shí)符指定文件
3、名,為讀/寫文件做準(zhǔn)備O端口地址 字節(jié)值向端口輸出P=地址 指令數(shù)按執(zhí)行過程,但不進(jìn)入子程序調(diào)用或軟中斷Q退出DEBUG,不保存正在調(diào)試的文件R寄存器名顯示和修改寄存器內(nèi)容S范圍 字節(jié)值表在內(nèi)存區(qū)域內(nèi)搜索指定的字節(jié)值表。如果找到,顯示起始地址,否則,什么也不顯示T=地址 指令數(shù)跟蹤執(zhí)行,從起點(diǎn)(或當(dāng)前地點(diǎn))執(zhí)行若干條指令U范圍反匯編,顯示機(jī)器碼所對應(yīng)的匯編指令W地址 驅(qū)動(dòng)器號(hào) 扇區(qū) 扇區(qū)數(shù)向磁盤寫內(nèi)容,(BX、CX)為寫入字節(jié)數(shù)2. 分隔:命令和參數(shù)、參數(shù)和參數(shù)之間要用空格、逗號(hào)或制表符等分隔3. 地址:用“段值:偏移量”的形式來表示地址,也可用段寄存器來代表“段值”例如:1000:0,ds:
4、10,es:200,cs:30等4. 范圍:用來表示地址范圍,從哪個(gè)地址開始,到哪個(gè)地址結(jié)束。它有二種表示方式:u 地址 地址前者表示起始地址,要用“段值:偏移量”來表達(dá),后者表示終止地址,只用“偏移量”來表示u 地址 長度前者表示起始地址,要用“段值:偏移量”來表達(dá),后者表示該區(qū)域的大小,用字母L開頭的數(shù)值來表示例如:100:50 100段值為100,偏移量從50到100的內(nèi)存區(qū)域,100:50 L100段值為100,偏移量從50開始的100個(gè)字節(jié)區(qū)域。5. 端口地址:二位十六進(jìn)制數(shù)值6. 字節(jié)值:二位十六進(jìn)制數(shù)值7. 字節(jié)值表:由若干個(gè)字節(jié)值組成,也可以是用引號(hào)括起來的字符串8. 驅(qū)動(dòng)器號(hào)
5、:0驅(qū)動(dòng)器A、1驅(qū)動(dòng)器B、2驅(qū)動(dòng)器C、3驅(qū)動(dòng)器D等關(guān)于使用命令的幾點(diǎn)說明:1. 在DEBUG中的提示符“-”下才能輸入命令,在按“回車”鍵后,該命令才開始執(zhí)行2. 命令是單個(gè)字母,命令和參數(shù)的大小寫可混合輸入3. 可用F1、F2、F3、Ins、Del、左移鍵、右移鍵等編輯鍵來編輯本行命令4. 當(dāng)命令出現(xiàn)語法錯(cuò)誤時(shí),將在出錯(cuò)位置顯示“ Error”5. 可用C或Break來終止當(dāng)前命令的執(zhí)行,還可用S來暫停屏幕顯示(當(dāng)連續(xù)不斷地顯示信息時(shí))例2.1:啟動(dòng)DEBUG,并裝入test.exe文件(假設(shè)該文件已存在)。解:方法1:>debug test.exe方法2:>debug-n te
6、st.exe-l例2.2:比較以DS為段值,偏移量從10到50的內(nèi)存區(qū)域與從地址100:20開始的內(nèi)存區(qū)域。解:-C DS:10 50 100:20或-C DS:10 L41 100:20例2.3:顯示以DS為段值,偏移量從10到50內(nèi)存區(qū)域的單元內(nèi)容,然后用abc來填充它。解:-D DS:10 50或-D DS:10 L41-F DS:10 50 abc例2.4:顯示十六進(jìn)制1234與3421之和、差。解:-H 1234 4321例2.5:把數(shù)據(jù)段區(qū)域DS:0-40內(nèi)的內(nèi)容傳送給從附加段ES:10開始的內(nèi)存中。解:-M DS:0 40 ES:10例2.6:在數(shù)據(jù)段區(qū)域DS:0-40內(nèi)查找是否
7、有字符串CIH。解:-S DS:0 40 CIH2. Debug詳細(xì)DEBUG主要命令 DEBUG是為匯編語言設(shè)計(jì)的一種高度工具,它通過單步、設(shè)置斷點(diǎn)等方式為匯編語言程序員提供了非常有效的調(diào)試手段。一、DEBUG程序的調(diào)用 在DOS的提示符下,可鍵入命令: C:DEBUG D:PATHFILENAME.EXTPARM1PARM2 其中,文件名是被調(diào)試文件的名字。如用戶鍵入文件,則DEBUG將指定的文件裝入存儲(chǔ)器中,用戶可對其進(jìn)行調(diào)試。如果未鍵入文件名,則用戶可以用當(dāng)前存儲(chǔ)器的內(nèi)容工作,或者用DEBUG命令N和L把需要的文件裝入存儲(chǔ)器后再進(jìn)行調(diào)試。命令中的D指定驅(qū)動(dòng)器PATH為路徑,PARM1和
8、PARM2則為運(yùn)行被調(diào)試文件時(shí)所需要的命令參數(shù)。 在DEBUG程序調(diào)入后,將出現(xiàn)提示符,此時(shí)就可用DEBUG命令來調(diào)試程序。二、DEBUG的主要命令1) -D顯示存儲(chǔ)單元(DUMP) _Daddress或_Drange 例如,按指定范圍顯示存儲(chǔ)單元內(nèi)容的方法為: -d100 12018E4:0100 c7 06 04 02 38 01 c7 06-06 02 00 02 c7 06 08 02 G.8.G.G.18E$:0110 02 02 bb 04 02 e8 02 00-CD 20 50 51 56 57 8B 37 .;.h.M PQVW. 718E4:0120 8B 其中0100至0
9、120是DEBUG顯示的單元內(nèi)容,左邊用十六進(jìn)制表示每個(gè)字節(jié),右邊用ASCII字符表示每個(gè)字節(jié),·表示不可顯示的字符。這里沒有指定段地址,D命令自動(dòng)顯示DS段的內(nèi)容。如果只指定首地址,則顯示從首地址開始的80個(gè)字節(jié)的內(nèi)容。如果完全沒有指定地址,則顯示上一個(gè)D命令顯示的最后一個(gè)單元后的內(nèi)容。2) -E修改存儲(chǔ)單元內(nèi)容 ·輸入命令E(ENTER),有兩種格式如下:第一種格式可以用給定的內(nèi)容表來替代指定范圍的存儲(chǔ)單元內(nèi)容。命令格式為: -E address list例如,-E DS:100 F3'XYZ'8D 其中F3,'X','Y'
10、;,'Z'和各占一個(gè)字節(jié),該命令可以用這五個(gè)字節(jié)來替代存儲(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é)束該命令為止。 ·填寫命令F(FILL),其格式為: -F range list例如:-F 4BA:0100 5 F
11、3'XYZ'8D 使04BA:01000104單元包含指定的五個(gè)字節(jié)的內(nèi)容。如果list中的字節(jié)數(shù)超過指定的范圍,則忽略超過的項(xiàng);如果list的字節(jié)數(shù)小于指定的范圍,則重復(fù)使用list填入,直到填滿指定的所有單元為止。3) -R檢查和修改寄存器內(nèi)容的命令R(register)它有三種格式如下: ·顯示CPU內(nèi)所有寄存器內(nèi)容和標(biāo)志位狀態(tài),其格式為: -R例如,-r AX=0000 BX=0000 CX=010A DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000 DS=18E4 ES=18E4 SS=18E4 CS=18E4 IP=0100
12、NV UP DI PL NZ NA PO NC 18E4:0100 C70604023801 MOV WORD PTR 0204,0138 DS:0204=0000 ·顯示和修改某個(gè)寄存器內(nèi)容,其格式為: -R register name例如,鍵入 -R AX 系統(tǒng)將響應(yīng)如下: AX F1F4 :即AX寄存器的當(dāng)前內(nèi)容為F1F4,如不修改則按ENTER鍵,否則,可鍵入欲修改的內(nèi)容,如: -R bx BX 0369 :059F則把BX寄存器的內(nèi)容修改為059F。 ·顯示和修改標(biāo)志位狀態(tài),命令格式為: -RF系統(tǒng)將響應(yīng),如: OV DN EI NG ZR AC PE CY- 此
13、時(shí),如不修改其內(nèi)容可按ENTER鍵,否則,可鍵入欲修改的內(nèi)容,如: OV DN EI NG ZR AC PE CY-PONZDINV 即可,可見鍵入的順序可以是任意的。4) -G運(yùn)行命令G其格式為: -G=address1address2address3 其中,地址1指定了運(yùn)行的起始地址,如不指定則從當(dāng)前的CS:IP開始運(yùn)行。后面的地址均為斷點(diǎn)地址,當(dāng)指令執(zhí)行到斷點(diǎn)時(shí),就停止執(zhí)行并顯示當(dāng)前所有寄存器及標(biāo)志位的內(nèi)容,和下一條將要執(zhí)行的指令。5) -T跟蹤命令T(Trace)有兩種格式: ·逐條指令跟蹤 -T =address 從指定地址起執(zhí)行一條指令后停下來,顯示所有寄存器內(nèi)容及標(biāo)志位
14、的值。如未指定地址則從當(dāng)前的CS:IP開始執(zhí)行。 ·多條指令跟蹤 -T =addressvalue 從指定地址起執(zhí)行n條指令后停下來,n由value指定。6) -A匯編命令A(yù)(Assemble)其格式為: -Aaddress 該命令允許鍵入?yún)R編語言語句,并能把它們匯編成機(jī)器代碼,相繼地存放在從指定地址開始的存儲(chǔ)區(qū)中。必須注意:DEBUG把鍵入的數(shù)字均看成十六進(jìn)制數(shù),所以如要鍵入十進(jìn)制數(shù),則其后應(yīng)加以說明,如100D。7) -U反匯編命令U(Unassemble)有兩種格式。 ·從指定地址開始,反匯編32個(gè)字節(jié),其格式為: -Uaddress例如: -u100 18E4:01
15、00 C70604023801 MOV WORD PTR0204,0138 18E4:0106 C70606020002 MOV WORD PTR0206,0200 18E4:010C C70606020202 MOV WORD PTR0208,0202 18E4:0112 BBO4O2 MOV BX,0204 18E4:0115 E80200 CALL 011A 18E4:0118 CD20 INT 20 18E4:011A 50 PUSH AX 18E4:011B 51 PUSH CX 18E4:011C 56 PUSH SI 18E4:011D 57 PUSH DI 18E4:011E
16、8B37 MOV SI,BX如果地址被省略,則從上一個(gè)U命令的最后一條指令的下一個(gè)單元開始顯示32個(gè)字節(jié)。 ·對指定范圍內(nèi)的存儲(chǔ)單元進(jìn)行反匯編,格式為: -Urange例如: -u100 10c 18E4:0100 C70604023801 MOV WORD PTR0204,0138 18E4:0106 C70606020002 MOV WORD PTR0206,0200 18E4:010C C70606020202 MOV WORD PTR0208,0202或 -u100 112 18E4:0100 C70604023801 MOV WORD PTR0204,0138 18E4:0
17、106 C70606020002 MOV WORD PTR0206,0200 18E4:010C C70606020202 MOV WORD PTR0208,0202 可見這兩種格式是等效的。8) -N命名命令N(Name)其格式為: -N filespecs filespecs命令把兩個(gè)文件標(biāo)識(shí)符格式化在CS:5CH和CS:6CH的兩個(gè)文件控制塊中,以便在其后用L或W命令把文件裝入存盤。filespecs的格式可以是:d:path filename.ext例如, -N myprog -L -可把文件myprog裝入存儲(chǔ)器。9) -L裝入命令(Load)有兩種功能。 ·把磁盤上指定扇區(qū)范圍的內(nèi)容裝入到存儲(chǔ)器從指定地址開始的區(qū)域中。其格式為: -Laddressdrive sector sector ·裝入指定文件,其格式為: -Laddress此命令裝入已在CS:5CH中格式化了文件控制塊所指定的文件。如未指定地址,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 關(guān)于孩子撫養(yǎng)權(quán)的離婚合同書
- 貨物采購合同補(bǔ)充協(xié)議
- 設(shè)備銷售與購買合同范文
- 車險(xiǎn)綜合保險(xiǎn)合同示例
- 服務(wù)合同預(yù)付款借款范本
- 歌手簽約演出服務(wù)合同
- 服裝采購代理合同
- 大型建筑機(jī)械租賃合同樣本范本
- 城鄉(xiāng)結(jié)合部三方共建項(xiàng)目合同
- 商鋪?zhàn)赓U合同規(guī)范樣本
- 2025年湖南高速鐵路職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性測試題庫附答案
- 《高鐵乘務(wù)安全管理與應(yīng)急處置(第3版)》全套教學(xué)課件
- 歷年湖北省公務(wù)員筆試真題2024
- 學(xué)校食品安全長效管理制度
- 2.2 說話要算數(shù) 第二課時(shí) 課件2024-2025學(xué)年四年級(jí)下冊道德與法治 統(tǒng)編版
- 滋補(bǔ)品項(xiàng)目效益評估報(bào)告
- 提綱作文(解析版)- 2025年天津高考英語熱點(diǎn)題型專項(xiàng)復(fù)習(xí)
- 2025年南京機(jī)電職業(yè)技術(shù)學(xué)院高職單招數(shù)學(xué)歷年(2016-2024)頻考點(diǎn)試題含答案解析
- 2025年春新人教版歷史七年級(jí)下冊全冊課件
- 2025年浙江臺(tái)州機(jī)場管理有限公司招聘筆試參考題庫含答案解析
- 《工程勘察設(shè)計(jì)收費(fèi)標(biāo)準(zhǔn)》(2002年修訂本)
評論
0/150
提交評論