調(diào)試程序DEBUG

調(diào)試程序DEBUG

ID:42945818

大?。?32.00 KB

頁數(shù):29頁

時(shí)間:2019-09-26

調(diào)試程序DEBUG_第1頁
調(diào)試程序DEBUG_第2頁
調(diào)試程序DEBUG_第3頁
調(diào)試程序DEBUG_第4頁
調(diào)試程序DEBUG_第5頁
資源描述:

《調(diào)試程序DEBUG》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、匯編語言程序設(shè)計(jì)主講:陶雪麗E-mail:xueli_xl@126.com單位:河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院調(diào)試程序DEBUGDEBUG程序的調(diào)用DEBUG命令的格式DEBUG的命令1.DEBUG程序的調(diào)用在DOS提示符下,可如下鍵入DEBUG啟動(dòng)調(diào)試程序:DEBUG[路徑文件名][參數(shù)1][參數(shù)2]DEBUG后可以不帶文件名,僅運(yùn)行DEBUG程序。需要時(shí),再用N和L命令調(diào)入被調(diào)試程序。命令中可以指定文件名,則在運(yùn)行DEBUG的同時(shí),還將指定的程序調(diào)入內(nèi)存;參數(shù)1/2是被調(diào)試程序所需要用的參數(shù)。在DEBUG程

2、序調(diào)入后,根據(jù)有無調(diào)試程序及其類型相應(yīng)設(shè)置寄存器組的內(nèi)容,發(fā)出DEBUG的提示符“-”,此時(shí)就可用DEBUG命令來調(diào)試程序。1.DEBUG程序的調(diào)用運(yùn)行DEBUG程序時(shí),如果不帶被調(diào)試程序,則所有段寄存器值相等,都指向當(dāng)前可用的主存段;除SP之外的通用寄存器都設(shè)置為0,而SP指示當(dāng)前堆棧頂在這個(gè)段的尾部;IP=0100h;狀態(tài)標(biāo)志都是清0狀態(tài)。運(yùn)行DEBUG程序時(shí),如果帶入的被調(diào)試程序擴(kuò)展名不是.EXE,則BX,CX包含被調(diào)試文件大小的字節(jié)數(shù)(BX為高16位),其他同不帶被調(diào)試程序的情況。運(yùn)行DEBUG程序時(shí),如果

3、帶入的被調(diào)試程序擴(kuò)展名是.EXE,則需要重新定位。此時(shí),CS:IP和SS:SP根據(jù)被調(diào)試程序確定,分別指向代碼段和堆棧段。DS=ES指向當(dāng)前可用的主存段,BX.CX包含被調(diào)試文件大小的字節(jié)數(shù)(BX為高16位),其他通用寄存器為0,狀態(tài)標(biāo)志都是清0狀態(tài)。2.DEBUG命令的格式DEBUG的命令都是一個(gè)字母,后跟一個(gè)或多個(gè)參數(shù):字母[參數(shù)]命令的使用中注意:字母不分大小寫;只使用16進(jìn)制數(shù),沒有后綴字母;分隔符(空格和逗號(hào))只在兩個(gè)數(shù)值之間是必須的,命令和參數(shù)間可無分隔符;每個(gè)命令只有按了回車鍵后才有效,可以用Ctrl

4、+Break中止命令的執(zhí)行;命令如果不符合DEBUG的規(guī)則,則將以“error”提示,并用“^”指示錯(cuò)誤位置。命令的參數(shù)許多命令的參數(shù)是主存邏輯地址,形式是“段基地址:偏移地址”。其中,段基地址可以是段寄存器或數(shù)值;偏移地址是數(shù)值。如果不輸入段地址,則采用默認(rèn)值,可以是默認(rèn)段寄存器值。如果沒有提供偏移地址,則通常就是當(dāng)前偏移地址。對(duì)主存操作的命令還支持地址范圍這種參數(shù),它的形式是“開始地址結(jié)束地址”(結(jié)束地址不能具有段地址),或者是“開始地址L字節(jié)長度”。3.DEBUG的命令顯示命令D(Dump)修改命令E(Ent

5、er)填充命令F(Fill)寄存器命令R(Register)匯編命令A(yù)(Assembler)反匯編命令U(Unassembler)運(yùn)行命令G(Go)跟蹤命令T(Trace)繼續(xù)命令、退出命令Q(Quit)、命名命令、裝入命令寫盤命令、其他命令(1)顯示命令D(Dump)D命令顯示主存單元的內(nèi)容,格式如下:D[地址];顯示當(dāng)前或指定開始地址的主存內(nèi)容D[范圍];顯示指定范圍的主存內(nèi)容一個(gè)D命令只顯示“8行×16個(gè)字節(jié)”(80列顯示模式)內(nèi)容。例如:-d100;顯示數(shù)據(jù)段100h開始的主存單元-dcs:0;顯示代碼段的

6、主存內(nèi)容-d2f0L20;顯示ds:2f0h開始的20h個(gè)主存數(shù)據(jù)(1)顯示命令D(Dump)例如,顯示當(dāng)前(接上一個(gè)D命令顯示的最后一個(gè)地址)主存內(nèi)容:-d1492:010041EBEA5EE30BF7C2-0100741C803C2E74A..^……t..<.t1492:011047833E75E002750A-803E7CE134008114G.>u..u..>

7、.4………1492:0170751AEB12525153E8-28010AC07558807Cu…RQS.(…uX.

8、邏輯地址連續(xù)16個(gè)字節(jié)的主存內(nèi)

9、容16個(gè)字節(jié)的主存內(nèi)容的ASCII字符顯示不可顯示字符用點(diǎn)“.”表示(2)修改命令E(Enter)E命令用于修改主存內(nèi)容,有兩種格式:E地址;格式1,修改指定地址的內(nèi)容E地址數(shù)據(jù)表;格式2,用數(shù)據(jù)表的數(shù)據(jù)修改指定地;址的內(nèi)容格式1,是逐個(gè)單元相繼修改的方法。例如:鍵入eds:100DEBUG顯示原來內(nèi)容,用戶可以直接輸入新數(shù)據(jù),然后按空格鍵顯示下一個(gè)單元的內(nèi)容,或者按“-”鍵顯示上一個(gè)單元的內(nèi)容;不需要修改可以直接按空格或“-”鍵;這樣,用戶可以不斷修改相繼單元的內(nèi)容,直到用回車鍵結(jié)束該命令為止。(2)修改命令E(

10、Enter)格式2,可以一次修改多個(gè)單元,例如:-eds:100F3’XYZ’8D;用F3/’X’/’Y’/’Z’/8D這5個(gè)數(shù)據(jù)替代DS:0100~0104的原來內(nèi)容若是數(shù)字,要用分隔符(空格或逗號(hào))隔開。例如:-eds:100F378787A8D(3)填充命令F(Fill)F命令用于對(duì)一個(gè)主存區(qū)域填寫內(nèi)容,同時(shí)改寫原來的內(nèi)容,其格式為:F范圍數(shù)據(jù)表該命令

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。