資源描述:
《調(diào)試程序DEBUG的使用[1].ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第2章附錄調(diào)試程序DEBUG介紹封面1整個(gè)匯編語言課程過程中我們主要用到edit,masm,link,debug四個(gè)命令其中edit和debug在c:windowscommand內(nèi)masm和link在c:turbomasm內(nèi)由于機(jī)房軟件安裝情況的限制,以后在編寫匯編語言程序之前首先要在DOS提示符下打通路徑c:>pathc:windowscommand;cturbomasm打通以上路徑后,在DOS任何路徑下都可以使用上述命令2調(diào)試程序DEBUG的使用調(diào)試程序DEBUG的使用DEBUG.EXE
2、是DOS提供的用于調(diào)試可執(zhí)行程序的工具軟件,是匯編語言程序設(shè)計(jì)中常用的調(diào)試工具。在DEBUG環(huán)境下,不但可以調(diào)試經(jīng)匯編、連接后生成的可執(zhí)行程序,也可以編寫簡單的程序。3啟動(dòng)DEBUG程序§1.啟動(dòng)DEBUG程序①在DOS提示符下鍵入:DEBUG↙(表示回車)Debug執(zhí)行,屏幕顯示提示符“-”,說明計(jì)算機(jī)當(dāng)前處于DEBUG的管理之下,可接受、并執(zhí)行DEBUG命令。②在DOS提示符下鍵入:DEBUG[路徑\]文件名↙DEBUG執(zhí)行,并將指定文件裝入內(nèi)存,供調(diào)試。如不指定被調(diào)試程序,DEBUG設(shè)置所有段寄存器的值
3、相同,并指向最低的、可用的段地址;SP指向本段的尾部;IP指向本段的0100H單元;其它通用寄存器和所有狀態(tài)標(biāo)志清0。4啟動(dòng)DEBUG2如帶入的被調(diào)試程序擴(kuò)展名不是.EXE,則BX、CX包含被調(diào)試文件長度(字節(jié)數(shù),BX為高位),其他同上。(帶入.COM程序同此)如帶入的被調(diào)試程序擴(kuò)展名是.EXE,則需要重新定位。DS=ES指向當(dāng)前最低的、可用的段地址(PSP的首字節(jié));CS:IP和SS:SP根據(jù)被調(diào)試程序確定,分別指向代碼段和堆棧段;BX.CX為文件長度,其它通用寄存器和狀態(tài)標(biāo)志清0。演示:DEBUG的兩種啟
4、動(dòng)方法5命令格式§2DEBUG命令和參數(shù)的格式1.命令格式命令字母[參數(shù)]字母不分大小寫;只使用16進(jìn)制數(shù),不加H;分割符只在兩個(gè)數(shù)值之間是必須的,命令和參數(shù)之間可有可無;鍵入回車鍵執(zhí)行命令,Ctrl+Break或Ctrl+C中止命令的執(zhí)行;如命令不符合DEBUG的規(guī)則,則提示“error”并使用“^”指示錯(cuò)誤位置。6參數(shù)格式12.參數(shù)格式①表示地址(邏輯地址):段地址:偏移地址D0400:2500D10ac:0Dds:04Dcs:100偏移地址D2505D100;DEBUG認(rèn)為輸入的是偏移地址,段地址采用默
5、認(rèn)的段寄存器,不同的命令默認(rèn)不同的段寄存器,例如匯編命令默認(rèn)CS,顯示數(shù)據(jù)命令默認(rèn)DS。既不送段地址,也不送偏移地址,段地址采用默認(rèn)的段寄存器,偏移地址采用當(dāng)前值。只送段地址,省略偏移地址,非法。如DDS:或D0400:7參數(shù)格式2②表示范圍開始地址結(jié)束地址如“DDS:050”,“D2AC0:100200”,“D100120”注意:結(jié)束地址不能帶段地址開始地址L字節(jié)長度如“DDS:0L10”,“D100L20”8命令索引命令索引D命令E命令F命令R命令A(yù)命令U命令G命令T命令P命令Q命令N命令L命令W命令C命
6、令H命令S命令I(lǐng)命令O命令M命令9D命令§3.DEBUG命令1.顯示命令D①D[地址]②D[范圍];如不指定范圍,一次顯示8行×16個(gè)字節(jié)。-D;默認(rèn)段寄存器為DS,當(dāng)前偏移地址-DDS:100/-DCS:200-D200:100-D200;200為偏移地址,默認(rèn)段寄存器DS-DDS:100110/-D100L1010E命令2.修改命令E①E地址;從指定地址開始,修改(或連續(xù)修改)存儲(chǔ)單元內(nèi)容。DEBUG首先顯示指定單元內(nèi)容,如要修改,可輸入新數(shù)據(jù);空格鍵顯示下一個(gè)單元內(nèi)容并可修改,減號鍵顯示上一個(gè)單元內(nèi)容并
7、可修改;如不修改,可直接按空格鍵或減號鍵;回車鍵結(jié)束命令。②E地址數(shù)據(jù)表;從指定的地址開始用數(shù)據(jù)表給定的數(shù)據(jù)修改存儲(chǔ)單元。-EDS:100F3‘AB’8D。11F命令3.添充命令FF范圍數(shù)據(jù)表;將數(shù)據(jù)表寫入指定范圍的存儲(chǔ)單元;數(shù)據(jù)個(gè)數(shù)多,忽略多出的數(shù)據(jù),個(gè)數(shù)少,則重復(fù)使用數(shù)據(jù)表。-FDS:0L501,02,03,04,05-FDS:0L50102030405(空格分隔)-FDS:0L5FF;5個(gè)字節(jié)重復(fù)使用FF注意和E命令的區(qū)別:E地址數(shù)據(jù)表起始地址,不是范圍12R命令4.顯示修改寄存器命令R①R;★顯示所有
8、寄存器和標(biāo)志位狀態(tài);★顯示當(dāng)前CS:IP指向的指令。顯示標(biāo)志時(shí)使用的符號:標(biāo)志標(biāo)志=1標(biāo)志=0OFOVNVDFDNUPIFEIDISFNGPLZFZRNZAFACNAPFPEPOCFCYNC13A命令②R寄存器名;顯示并修改指定的寄存器。RAX;RIP;RF等5.匯編命令A(yù)A[地址];從指定的地址開始輸入符號指令;如省略地址,則接著上一個(gè)A命令的最后一個(gè)單元開始;若第一次使用A命令省略地址,則從當(dāng)前