版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、DEBUG使用方法DEBUG使用方法格式:DEBUGdrive:pathfilenametestfile-parameters參數(shù):drive:pathfilename指定待調(diào)試可執(zhí)行文件的所在位置及文件名。testfile-parameters指定待設(shè)計(jì)可執(zhí)行文件需要的命令參數(shù)。相關(guān)命令-A(匯編,Assemble)-C(比較,Compare)-D(卸出,Dump)-E(輸入數(shù)據(jù),Enter)-F(填充,F(xiàn)ill)-G(執(zhí)行,Go)-H(十六進(jìn)行運(yùn)算,Hex)-I(讀輸入口,Input)-L-M-N-O-P-Q-R-S-T-U-W-XA-XD(裝入,Load)(移動(dòng),MOVE)(命令,NAM
2、E)(寫輸出口,OUTPUT)(調(diào)試循環(huán)程序,PROCEED)(退出,QUIT)(寄存器,REGISTER)(找尋,SEARCH)(跟蹤,TRACE)(反匯編,UNASSEMBLE)(寫盤,WRITE)(分配擴(kuò)充內(nèi)存,ALLOCATEEM)(釋放分配的擴(kuò)充內(nèi)存,DEALLOCATEEM)-XM(擴(kuò)展內(nèi)存頁(yè)影像,MAPEXMPAGES)-XS(顯示擴(kuò)充內(nèi)存狀態(tài),DISPLAYEMSTATUS)二、注意事項(xiàng)不指定調(diào)試文件名時(shí)DEBUG命令的使用。使用DEBUG命令時(shí),如果未指定調(diào)試文件的所在位置及名子,DEBUG執(zhí)行時(shí)將顯示符()。這時(shí),用戶可輸入任何一個(gè)DEBUG調(diào)試命令。DEBUG命令以下為D
3、EBUG使用的調(diào)試命令及其簡(jiǎn)介:?顯示所有的調(diào)試命令A(yù)匯編8086/8087/8088匯編語(yǔ)言源程序。C比較兩塊內(nèi)存的內(nèi)容。D顯示部分內(nèi)存的內(nèi)容。E人指定的地址開始把數(shù)據(jù)送入內(nèi)存。F將指一值填進(jìn)某一范圍的內(nèi)存。G運(yùn)行內(nèi)存中的程序。H執(zhí)行十六進(jìn)制算術(shù)運(yùn)算。I從指定輸入口輸入一道字節(jié)值。L把文件或磁盤扇區(qū)內(nèi)容裝入內(nèi)存oM拷貝某塊內(nèi)存的內(nèi)容。N指定文件名,以便L或W命令讀寫該文件;指定正調(diào)試文件所需的參數(shù)。O發(fā)送一字節(jié)值至指定輸出口。P執(zhí)行循環(huán)程序,重復(fù)字符串指令,軟中斷,或子程序。Q結(jié)束DEBUG命令執(zhí)行。R顯示或修改一個(gè)或數(shù)個(gè)寄存器內(nèi)容。S在內(nèi)存指定范圍內(nèi)找尋指定的值。T執(zhí)行一條指令,然后顯示所
4、有寄存器的內(nèi)容,所有標(biāo)志狀態(tài),以及下一條要執(zhí)行的指令(匯編語(yǔ)言格式)。U反匯編某一范圍內(nèi)的字節(jié),顯示其相應(yīng)匯編語(yǔ)言源語(yǔ)名。W把正調(diào)試文件寫入磁盤。XA分配擴(kuò)充內(nèi)存XD釋放分配的擴(kuò)充內(nèi)存。XM作擴(kuò)充內(nèi)存頁(yè)的影像。XS顯示擴(kuò)充內(nèi)存的狀態(tài)。除命令Q外,所有的調(diào)試命令都可使用參數(shù)。參數(shù)間可用逗號(hào)或空格隔開,但只是在十六進(jìn)制數(shù)之間才要求必須隔開。因此,下列命令是等價(jià)的:des:100110DCS:100110D,CS:100,110指定有效地址調(diào)試命令中的addres(地址)參數(shù)指定內(nèi)存中的地址。地址分兩部分,一部分是段寄存器字母或4位的段地址,另一部分為偏移地址。其中,段寄存器或段地址可以省略。對(duì)命令
5、A,G丄,T,U,W,默認(rèn)段為CS,對(duì)所有其余命令,默認(rèn)段為DS。所有數(shù)值都為十六進(jìn)制。以下為有效地址:CS:010004BA:0100注意,在段名和偏移值之間要加冒號(hào)。指定有效地址范圍。調(diào)試命令中的range(范圍)參數(shù)指定內(nèi)存中的地址范圍。地址范圍有兩種格式:開始地址和結(jié)束地址;開始地址和范圍長(zhǎng)度(由L指定)。例如:從CS:100開始,到10F結(jié)束,共16字節(jié)范圍,可使用兩種格式說(shuō)明:CS:10010FCS:100110DEBUG:A(匯編)一、概述直接匯編8086/80878088匯編語(yǔ)言源程序,匯編結(jié)果放內(nèi)存。本命令將匯編語(yǔ)言語(yǔ)句轉(zhuǎn)換成執(zhí)行的機(jī)器碼,語(yǔ)句中所有操作數(shù)據(jù)均為16進(jìn)制,由1
6、到4個(gè)字符組成。格式:Aaddress參數(shù)address指定輸入?yún)R編語(yǔ)言語(yǔ)句的地址。地址為16進(jìn)制數(shù)但實(shí)際輸入時(shí)結(jié)尾不必加字符“h”如果不指定地址,命令A(yù)將從上一次匯編結(jié)束地的地址開始。相關(guān)命令有關(guān)在指定地址輸入數(shù)據(jù)的具體說(shuō)明,參閱DEBUGE命令有關(guān)反匯編的具體說(shuō)明,參閱DEBUGU命令。二、注意事項(xiàng)使用助記符地址段名助記符為CS:,DS:,ES:,SS:。遠(yuǎn)程返回助記符為RETF。字符串處理助記符必須根據(jù)其處理的字符串的長(zhǎng)度選擇使用。例如,移動(dòng)字串(16bits)使用MOVSW,移動(dòng)字節(jié)串(8bits)使用MOVSB。轉(zhuǎn)移語(yǔ)句和子程序調(diào)用的匯編匯編命令將根據(jù)語(yǔ)句中地址字節(jié)移動(dòng)自動(dòng)匯編短,近
7、,遠(yuǎn)轉(zhuǎn)移或調(diào)用,生成目標(biāo)地址。用戶也可以使用前綴NEAR或FAR直接說(shuō)明這類轉(zhuǎn)移或調(diào)用。例如:-a0100:05000100:0500jmp502;2字節(jié)短轉(zhuǎn)移,生成2字節(jié)目標(biāo)地址。0100:0502jmpnear505;3字節(jié)近轉(zhuǎn)移,生成4字節(jié)目標(biāo)地址。0100:0505jmpfor50a;5字節(jié)遠(yuǎn)轉(zhuǎn)移,生成8(段+偏移)字節(jié)目標(biāo)地址。前綴NEAR可以省略為NE。字內(nèi)存地址和字節(jié)內(nèi)存地址的區(qū)分地址還是字節(jié)內(nèi)存地址是地,必須用前綴WORDPRT(字)或BYTEPTR(字節(jié))指字其類型。兩者可省略為WO和BY,例如:decwosinegbyteptr128指定操作數(shù)DEBUG按常規(guī)認(rèn)方括號(hào)內(nèi)的操
8、作為內(nèi)存地址。否則,為立即數(shù)。例如:movax,21;把數(shù)值21裝入AXmovax,21;把內(nèi)存21H單元的內(nèi)容裝入AX使用偽指令A(yù)命令使用常用的兩個(gè)偽指令:DB和DW。DB匯編字節(jié),DW匯編字。匯編后生成的值存入內(nèi)存(分別以字節(jié)和字為單位存放)。例如:db1,2,3,4,thisisanexampledbthisiaaquotationmark:dbthisisaquoutationmark:dw1000,2000,3000,BACH三、應(yīng)用舉例A命令支持所有各種形式的寄存器間接尋址指令,例如:addbx,34pb+2.si-1popbp+dipushsiA命令支持同義操作代碼,例如:loo
9、pz100loope100ja200jnbe200使用8087操作代碼時(shí),應(yīng)加前綴WAIT或FWAIT,例如:fwaitfaddst,st(3);thislineassembles;arfwaitprefixDEBUG:C(比較)一、概述比較丙塊內(nèi)存的內(nèi)容格式Crangeaddress參數(shù)range指定待比較的第一塊內(nèi)存的起始和結(jié)束地址,或其起始地址和長(zhǎng)度。有關(guān)本參數(shù)有效值的說(shuō)明,參閱DEBUG命令。address指定待比較的第二塊內(nèi)存的起始和結(jié)束地址,或其起始地址和長(zhǎng)度。有關(guān)本參數(shù)有效值的說(shuō)明,參閱DEBUG命令。二、注意事項(xiàng)如果比較的兩塊內(nèi)存內(nèi)容相同,DEBUG不顯示任何信息,只返回DEB
10、UG提示符,如果比較的內(nèi)容有差別,將以下格式顯示這些差別。addresslbytelbtye2address2三、應(yīng)用舉例以下兩條命令的執(zhí)行結(jié)果相同:cl100,10f300C100L10300兩條命令都比較從100h到10Fh和從300h到30Fh的兩塊內(nèi)存的內(nèi)容。DEBUG執(zhí)行這兩條命令時(shí)將顯示與下面相似的信息(假定DS=197F):197F:10004DE4194F:0300197F:01016799197F:0301197F:0102A327194F:0302197F:010335F3194F:0303197F:010497BD197F:0304197f:01050435197F:03
11、05197F:01077671197F:0307197F:0108E611197F:0308197F:0109192C197f:0309197F:010A800A197F:030A197F:010B367F197F:030B197F:010CBE22197F:030C197F:010D8393197F:030D197F:010E4977197F:030E197F:010F4F8A197F:030F注意上表中缺地址197F:0106和197F:0306,這表示兩個(gè)地址存放的數(shù)值相同。DEBUG:D(卸出)一、概述顯示指定范圍內(nèi)存的內(nèi)容格式Drange參數(shù)range指定要顯示其內(nèi)容的內(nèi)存的起始地址
12、和結(jié)束地址,或起始地址和長(zhǎng)度。有關(guān)范圍有效值的說(shuō)明,參閱DEBUG命令。如未指定范圍,將從上一次D命令顯示的結(jié)束地址開始,顯示128字節(jié)的內(nèi)容。相關(guān)命令有關(guān)寄存器內(nèi)容的顯示,參閱DEBUGR命令。有關(guān)反匯編的說(shuō)明,參閱debugu命令。二、注意事項(xiàng)D命令顯示的內(nèi)存內(nèi)容分為兩部分:十六進(jìn)制值部分(字節(jié)值都顯示十六進(jìn)制的格式)和ASCII字符部分(顯示與字節(jié)值對(duì)應(yīng)的ASCII字符),無(wú)法顯示的字符用圓點(diǎn)()表示每一行顯示行顯示16字節(jié)的內(nèi)容,第8和第9字節(jié)間用短橫線(-)隔開,每一顯示行都從16字節(jié)邊界處開始顯示。三、應(yīng)用舉例假設(shè)打入如下命令:dcs:10010fDEGUG將顯示類似如下格式的內(nèi)容
13、:04BA:0100544F04D000F53415759-52000000000000TOM.SAWYERM如隨后再打入D命令但不指定范圍,DEGUG將緊接著上次顯示的最后地址(110)開始顯示內(nèi)存內(nèi)容,格式同上;每一顯示行顯示的起始地址都比上一行的大16字節(jié)(如顯示器屏幕為40列,則大8字節(jié))。如輸入如下命令,DEGUG將從cs:100開始,顯示20H字節(jié)內(nèi)容:dcs:100L20(命令中L可為小寫)如輸入如下命令,DEGUG將顯示CS段內(nèi)從100H開始到115H為止的內(nèi)容:dcs:100115DEGUG:E(輸入數(shù)據(jù))輸入數(shù)據(jù)到指定內(nèi)存。輸入的數(shù)據(jù)可為16進(jìn)制數(shù),也可為ASCII字符。指
14、定內(nèi)存在輸入新數(shù)據(jù)后,原先的內(nèi)容丟失。格式Eaddressllst參數(shù)address指定要輸入數(shù)據(jù)的第一個(gè)內(nèi)存單元。list指定要輸入到內(nèi)存連續(xù)單元的數(shù)據(jù)。可以是一串16進(jìn)制數(shù)或字符。相關(guān)命令有關(guān)匯編命令的說(shuō)明,參閱DEGUGA命令。有關(guān)內(nèi)存內(nèi)容顯示的說(shuō)明,參閱DEGUGD命令。:、注意事項(xiàng)使用address參數(shù)如果指定了地址但未指定LIST,DEGUG顯示指定地址及其內(nèi)容,等待用戶輸入。此時(shí),用戶可作如下操作:輸入新值。在顯示的內(nèi)存當(dāng)前值鍵入新的值。如果鍵入多于兩位數(shù)或是無(wú)效的16進(jìn)制值,DEGUG將不顯示無(wú)效值和多余字符。按空格鍵跳至下一字節(jié),一直到需要輸入新值的字節(jié)為止。輸入新值的方法同
15、上,如果按空格鍵移動(dòng)超過(guò)8字節(jié)邊界,DEGUG將另起一新行并在行首顯示當(dāng)前地址。按短橫線回到上一字節(jié)。每按一次,回退一字節(jié),而且啟動(dòng)一新的顯示行顯示顯示當(dāng)前地址及其內(nèi)容。按回車結(jié)束E命令。可在任意字節(jié)位置上按使用list參數(shù)如果命令中指字了list參數(shù)的值勤,E命令將以list中的值順序取代指定地址的的當(dāng)前值。如果中途發(fā)生錯(cuò)誤,原值不變。list的值可以是一串16進(jìn)制數(shù)或一串字符。各個(gè)值之間以空格,逗號(hào)或制表符(TAB)分隔。字符串則必須加上單引號(hào)或雙引號(hào)。三、應(yīng)用舉例如輸入如下命令:ecs:100DEGUG以如下格式顯示第一個(gè)字節(jié)的內(nèi)容:04BA:0100EB._鍵入41,該單元內(nèi)容將改為4
16、1;如:04BA:0100EB.41_在一個(gè)E命令下可連續(xù)輸入多個(gè)字節(jié)值。如上例,在輸入新值后接著按空格鍵,DEGUG將顯示下一單元的值,用戶接著可輸入該單元的新值。依此類推。例如:04BA:0100EB.4110.00BC.接著修改值BC為42,在光標(biāo)處鍵入42,DEGUG顯示如下:04BA:0400EB.4110.00BC.42_如果要修改輸入的新值,比如將10改為6F,可按短橫線(-)兩次,回到值為10的地址0101處。此時(shí),DEGUG顯示如下:04BA:010OEB.4110.00BC.42-04BA:010200.-04BA:010110.04BA:010110.6F_按回車鍵結(jié)束E
17、命令,返回到DEGUG提示符下。輸入字符串到指定內(nèi)存的操作舉例如下:eds:100Thisisthetextexample該命令將從ds:100處開始填入引號(hào)內(nèi)字符的ASCII值,共24字節(jié)內(nèi)容。DEGUG:F(填充)一、概述用指定值填充指定區(qū)域的內(nèi)存。指定值可為16進(jìn)制數(shù)據(jù)或ASCII字符。填充后,指定內(nèi)存原內(nèi)容丟失。格式FRANGELIST參數(shù)range指定待填充內(nèi)存的起始和結(jié)束地址,或其起始地址和長(zhǎng)度。有關(guān)本參數(shù)有效值的說(shuō)明,參閱DEGUG命令。指定填充數(shù)據(jù)。指定值可為16進(jìn)制數(shù)據(jù)或引號(hào)內(nèi)的ACSII字符。二、注意事項(xiàng)使用range參數(shù)如果range中包含的字節(jié)數(shù)多于list中的數(shù)值個(gè)數(shù)
18、,DEGUG將重復(fù)使用list中的數(shù)值,直到range中的所有字節(jié)填滿為止。如果range內(nèi)的內(nèi)存單元壞或不存在,DEGUG將顯示出錯(cuò)信息并停止F命令。使用list參數(shù)如果list中的數(shù)值個(gè)數(shù)多于range包含的字節(jié)數(shù),DEGUG將忽略list中多余的值。三、應(yīng)用舉例如輸入如下命令:f01ba:100L1004245525441DEGUG將五個(gè)指定值勤(42到41)填入從04BA:1FF的內(nèi)存單元。DEGUG重復(fù)使用指定的五個(gè)值,直到所有100H個(gè)單元填完為止。DEGUG:G(執(zhí)行)一、概述運(yùn)行內(nèi)存中的程序格式G=addressbreakpoints參數(shù)=address指定運(yùn)行程序的起始地址。
19、如不指定該地址,DEGUG將從由CS:IP指定的當(dāng)前地址處開始運(yùn)行程序。breakpoints指定臨時(shí)斷點(diǎn)地址。斷點(diǎn)數(shù)為1到10個(gè)。相關(guān)命令有關(guān)執(zhí)行循環(huán),字符呂重復(fù)指令,軟中斷及子程序的說(shuō)明,參閱DEGUGP命令。有關(guān)逐條執(zhí)行指令的說(shuō)明,參閱DEGUGT命令。二、注意事項(xiàng)=address參數(shù)的使用注意本參數(shù)前面的等號(hào)(=),其作用是指導(dǎo)程序運(yùn)行的起始地址和程序運(yùn)行期間的斷點(diǎn)地址(breakpoints)區(qū)分開來(lái)。指定斷點(diǎn)程序在到達(dá)第一個(gè)斷點(diǎn)停下,不管該斷點(diǎn)在斷點(diǎn)中表示什么地方。因?yàn)閿帱c(diǎn)設(shè)定后,DEGUG即把每一個(gè)斷點(diǎn)處的原指令換為中斷碼(0CCh)。程序到達(dá)斷點(diǎn)時(shí),DEGUG將所有斷點(diǎn)處的中斷
20、碼恢復(fù)為原來(lái)的指令,顯示各寄存器的當(dāng)前內(nèi)容和標(biāo)志狀態(tài),當(dāng)前地址及其存放的指令。DEGUG的這些顯示信息如同執(zhí)行R(寄存器)命令并指定斷點(diǎn)時(shí)顯示的信息一樣。如果程序執(zhí)行時(shí)沒(méi)有遇到斷點(diǎn),一直執(zhí)行下去,DEGUG不會(huì)把斷點(diǎn)處的中斷碼恢復(fù)為原來(lái)的指令。斷點(diǎn)設(shè)置的限制斷點(diǎn)必須害在存放著8086操作碼(opcode)和一個(gè)字節(jié)的地址上,不能插在中間。如果設(shè)置的斷點(diǎn)超過(guò)10個(gè),DEGUG顯示如下信息:bpError對(duì)用戶堆載指針的要求用戶規(guī)模指針必須有效,且應(yīng)有6個(gè)字節(jié)供G命令使用。G命令使用IRET指令跳至正在調(diào)試的程序。DEGUG置用戶堆棧無(wú)效或太小,操作系統(tǒng)可能終止。DEGUG還在旨定斷點(diǎn)處放置一中斷
21、碼(OCCh)重新啟動(dòng)程序程序運(yùn)行正常結(jié)束,MS-DOS顯示如下信息:rpogramterminatednormally此時(shí),不要馬上啟動(dòng)程序運(yùn)行。必須使用DEGUG的N和L命令重新裝入該程序后,才能保證程序正常運(yùn)行。三、應(yīng)用舉例輸入如下命令:gcs:7550MS-DOS運(yùn)行現(xiàn)正在內(nèi)存中的程序,到斷點(diǎn)一一CS段的7550地址處停下。DEGUG顯示當(dāng)前各寄存器的內(nèi)容和標(biāo)志狀態(tài),并暫停G命令的執(zhí)行。gcs:755O,cs:8O00如果用戶在DEGUG遇到一個(gè)斷點(diǎn)暫停后在輸入G命令,程序?qū)臄帱c(diǎn)后面的第一條指令開始繼續(xù)運(yùn)行,而不是像通常那樣從起始地址開始運(yùn)行。DEGUG:H(16進(jìn)制算術(shù)運(yùn)算)一、概
22、述對(duì)指定的兩個(gè)數(shù)進(jìn)行16進(jìn)制算術(shù)運(yùn)算。格式Hvaluelvalue2參數(shù)valuel參數(shù)運(yùn)算的第一個(gè)數(shù),為從0到FFFFh的任意16進(jìn)制數(shù)。value2參數(shù)運(yùn)算的第二個(gè)數(shù),為從0到FFFFh的任意16進(jìn)制數(shù)。二、注意事項(xiàng)DEGUG先對(duì)兩個(gè)數(shù)作加法運(yùn)算,然后作減法運(yùn)算,從第一個(gè)數(shù)減去第二個(gè)數(shù)。運(yùn)算結(jié)果顯示在同行上首先是和,然后是差。三、應(yīng)用舉例假設(shè)輸入如下命令:h19f10aDEGUG執(zhí)行運(yùn)算并顯示如下結(jié)果:02A90095DEGUG:I(讀輸入口)一、概述從指一輸入口讀入并顯示一字節(jié)的值。格式Iport參數(shù)port指定輸入口地址。該址址可以是一個(gè)16-blt的值。相關(guān)命令有關(guān)把數(shù)據(jù)發(fā)送至輸出口
23、的說(shuō)明,參閱DEGUGO命令。二、應(yīng)用舉例假設(shè)輸入口2F8的字節(jié)值為42H,那么輸入如下命令:i2f8DEGUG將讀入該字節(jié)并顯示如下:42DEGUG:L(裝入)、概述格式LaddressLaddressdrivestartnumber第一個(gè)格式把磁盤文件(由N命令指定)讀入內(nèi)存,讀入字節(jié)數(shù)存BX:CX。第二個(gè)格式繞過(guò)MS-DOS文件系統(tǒng),直接從指定的磁盤扇區(qū)讀入數(shù)據(jù)。參數(shù)address指定存放讀入數(shù)據(jù)的內(nèi)存位置。如果不指定,DEGUG將從CS:IP處開始存放讀入數(shù)據(jù)。(exe和hex文件的裝入地址參閱注意事項(xiàng))drive指定要讀入某扇區(qū)內(nèi)容的盤符。本參數(shù)值為數(shù)字。每個(gè)值與一盤符對(duì)應(yīng),如0=A
24、,1=B,2=C等等。start指定要讀入其內(nèi)容的每一個(gè)扇區(qū)號(hào)(十六進(jìn)制數(shù))。number指定要讀入其內(nèi)容的連續(xù)扇數(shù)(十六進(jìn)制數(shù))。相關(guān)命令有關(guān)在使用L命令讀入前先指定文件的說(shuō)明,參閱DEGUGN命令。有關(guān)把調(diào)試文件寫入磁盤的說(shuō)明,參閱DEGUGW命令。二、注意事項(xiàng)不帶參數(shù)L命令的使用,=J如果在輸入DEGUG的命令行中指定了文件,那么不帶參數(shù)使用L命令將把該指定文件的內(nèi)容從磁盤讀入內(nèi)存。如果命令行中沒(méi)有指定文件,那么讀入的文件是最近運(yùn)行命令N指定的文件。讀入的內(nèi)容從地址CS:100開始存放。讀入的字節(jié)數(shù)存入寄存器BX和CS。帶address參數(shù)L命令的使用如果帶address參數(shù),L命令將讀
25、入的文件或磁盤扇區(qū)的內(nèi)容存入從address開始的內(nèi)存單丿元。注意L命令的兩種格式,不帶參數(shù)的L命令用于讀入文件,帶全部參數(shù)的L命令用于讀入磁盤扇區(qū)。讀入指定扇區(qū)內(nèi)容。DEGUG從由參數(shù)start指定的扇區(qū)開始讀入磁盤內(nèi)容。一直到讀完由number指定的扇區(qū)數(shù)為止。裝入EXE文件參數(shù)address對(duì)讀入EXE文件無(wú)效。DEGUG在裝入EXE文件時(shí),將按EXE文件闊大中指定的地址存放該文件。EXE文件頭在文件裝入內(nèi)存之前就與文件本身分開,所以EXE文件在盤上的長(zhǎng)度和在內(nèi)存中的長(zhǎng)度不同。如果需要檢查檢驗(yàn)一個(gè)完整的EXE文件,必須更換其擴(kuò)展名。打開十六進(jìn)制(HEX)文件所謂十六進(jìn)制(HEX)文件是使
26、用intel十六進(jìn)制格式的文件,DEGUG把凡以.HEX為擴(kuò)展名的文件都看作十六進(jìn)制文件。不帶參數(shù)的L命令裝HEX文件的地址是由HEX文件中指定的地址。如果L合命令使用address參數(shù)指定裝入地址,DEGUG將這兩個(gè)地址相加,得到確定的裝入地址。三、應(yīng)用舉例假設(shè)用戶輸入如下命令該命令命名了個(gè)名為的文件。用戶隨后使用L命令把該文件的內(nèi)容裝入內(nèi)存。裝畢,顯示DEGUG的提示符。假設(shè)需讀入C盤從邏輯扇區(qū)15(0Fh)開始的109(6Dh)個(gè)扇區(qū)的內(nèi)容,存放在從04BA:0100開始的內(nèi)存單元內(nèi),輸入如下命令:L04ba:1002of6dDEBUG:M(移動(dòng))一、概述把一塊內(nèi)存的內(nèi)容復(fù)制到一另塊。格
27、式Mrangeaddress參數(shù)range指定被拷貝的起始地址和結(jié)束地址,或其起始地址和塊長(zhǎng)。address二、注意事項(xiàng)疊交復(fù)制移動(dòng)所謂疊交復(fù)制移動(dòng)是指執(zhí)行M命令時(shí),被復(fù)制塊(源塊)的一部分和新復(fù)制塊(終塊)的一部分相互重疊。M命令智能地處理這類復(fù)制,不會(huì)搞亂新復(fù)制塊的數(shù)據(jù)。M先復(fù)制要被覆蓋的內(nèi)容,即如果數(shù)據(jù)從高地址移至低地址,從低地址開始復(fù)制,如果數(shù)據(jù)從低地址至高地址,則從高地址開始復(fù)制,這樣,保證了新復(fù)制塊的數(shù)據(jù)在疊交復(fù)制時(shí)候保持完整,不遭破壞。三、應(yīng)用舉例假設(shè)輸入如下命令:msc:100110cs:500DEBUG先把地址CS:100的內(nèi)容復(fù)制到CS:510,然后是CS:10F的內(nèi)容復(fù)制
28、到CS:50F。依次進(jìn)行。一直把CS:100的內(nèi)容復(fù)制到CS:500為止。如需檢查移動(dòng)結(jié)果,可使用D命令顯示從CS:500開始的內(nèi)容。DEBUG:N(命令)一、概述為L(zhǎng)和W命令執(zhí)行準(zhǔn)備好文件名;為正調(diào)試的可執(zhí)行文件指定所需參數(shù)。格式Ndrlve:pathfllename為正在調(diào)試的可執(zhí)行文件指定所需參數(shù),使用如下格式:Nfile-parameters清除由前面的N命令指定的文件名和參數(shù),使用如下格式:N參數(shù)drive:pathfilename指定要調(diào)試文件的所在位置和文件名。file-parameters指定調(diào)試文件運(yùn)行時(shí)所需要的參數(shù)。相關(guān)命令有關(guān)讀入文件或磁盤扇區(qū)內(nèi)容的說(shuō)明,參閱DEBUGL
29、命令。有關(guān)把調(diào)試文件寫盤的說(shuō)明,參閱DEBUGW命令。二、注意事項(xiàng)N命令的兩種用法N命令的第一種用法是指定后面L和W命令所要處理的文件。如果啟動(dòng)DEBUG時(shí)未帶文件名,在以后使用L命令裝入文件前,必須先用N指定文件。文件名將按所要求的格式存入位于CS:5C的文件控制塊。N的第二種用法是為調(diào)試文件指定所需要的參數(shù)。內(nèi)存區(qū)分配如下四處內(nèi)存區(qū)受命令N的影響:內(nèi)存單元內(nèi)容CS:5C(FCB)CS:6C(FCB)CS:80File1的文件控制塊File2的文件控制塊N命令長(zhǎng)度(字符數(shù))CS:81N命令起始字符N命令指定的第一個(gè)文件名放在位于CS:5C的文件控制塊(FCB)中,如果指了第一個(gè)文件,第二個(gè)文
30、件名放在位于CS:6C的FCB中。N命令行的字符(不包括N本身)個(gè)數(shù)放CS:80,字符本身則從CS:81開始排放。這些字符可以是參數(shù)和定界符等所有在MS-DOS命令行上合法使用的字符。三、應(yīng)用舉例假設(shè)啟動(dòng)DEBUG調(diào)試程序PROGCOM,然后為PROG.COM指定兩個(gè)參數(shù),接著運(yùn)行該程序,為此,可順序輸入如下命令:nparamlparam2gG命令運(yùn)行該程序的情形和在MS-DOS提示符下輸入如下命令一樣:progparamlparam2下面的命令串中,第一條N命令指定FILE1.EXE為隨后L命令要裝入的文件。第二條N命令指這FILE1EXE使用的參數(shù)。最后的G命令運(yùn)行FILE1.EXE,如同
31、在MS-DOS提示符下輸入命令FILE1FILE2.DATFILE2.DAT一樣。nfilel.exe1nfile2.datfile3.datg注意,在第二條N命令后,一不能使用L命令;二如使用W命令,MS-DOS將把FILE1.EXE文件存入FILE2.DAT,為避免這種情況,建議在每次即將使用命令L(裝入)或W(保存)文件前,先使用N命令指定文件。DEBUG:O(寫輸出口)一、概述發(fā)送一字節(jié)值至輸出口格式Oportbyte-value參數(shù)port指定輸出口地址,該地址可以是一個(gè)16-bit的值。byte-value指定要發(fā)送到輸出口的字節(jié)值。相關(guān)命令有關(guān)從輸入口讀入數(shù)據(jù)的說(shuō)明,參閱DEBU
32、GT命令。二、應(yīng)用舉例把字節(jié)值勤4Fh發(fā)送至地址為2F8h的輸出口,輸入如下命令:02f84fDEBUG:P(proceed)一、概述執(zhí)行循環(huán)、重復(fù)字符串指令,軟中斷或子程序;跟蹤任何共它類指令的執(zhí)行。格式P=addressnumber參數(shù)=address指定要執(zhí)行的第一條指令的地址。如不指定,則寄存器CS:IP所指定的當(dāng)前地址為默認(rèn)的執(zhí)行地址。number指定執(zhí)行指令的條數(shù)。不指定時(shí),默認(rèn)為1。相關(guān)命令有關(guān)運(yùn)行內(nèi)存中程序的說(shuō)明,參閱DEBUGG命令。有關(guān)執(zhí)行單條指令的說(shuō)明,參閱DEBUGT命令。:、注意事項(xiàng)控制的轉(zhuǎn)移P命令把控制轉(zhuǎn)移給調(diào)試程序,該程序從指定地址開始循環(huán),重復(fù)字符串指令,軟中斷
33、或子程序,一直到它們運(yùn)行結(jié)束或指字?jǐn)?shù)目的指令已全部執(zhí)行為止。這時(shí),控制返回到DEBUG。對(duì)參數(shù)address的限制如果參數(shù)address中未能指定地址,DEBUG把調(diào)試程序CS寄存器的值作為段地址。如果忽略參數(shù)address,程序?qū)腃S:IP所指址址開始執(zhí)行。注意在參數(shù)address前須加等號(hào)(=)o如果指定地址處的指令不是循環(huán),重復(fù)字符串指令,軟中斷或子程序,P的功能和跟蹤命令T相同。P命令的顯示信息P命令執(zhí)行后,DEBUG顯示該程序各寄存器的內(nèi)容,所有標(biāo)志狀態(tài)以及下一條要執(zhí)行的指令。警告:不能使用P命令跟蹤只讀存儲(chǔ)器(ROM)內(nèi)程序的執(zhí)行。三、應(yīng)用舉例假定調(diào)試程序在地址CS:143F處是
34、一條CALL指令。如要運(yùn)行CALL調(diào)用的子程序,然后再返回DEBUG,輸入如下命令:p=143f(1422h),DEBUG顯示如下格式的結(jié)果:AX=0000BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=2246ES=2246SS=2246CS=2246IP=1443NVUPEIPLNZACPONC2246:14427505JNZ144ADEBUG:Q(退出)一、概述退出DEBUG,但不保存調(diào)試程序。輸入Q命令后,控制返回到MS-DOS。格式Q參數(shù)本命令無(wú)參數(shù)相關(guān)命令有關(guān)保存調(diào)試程序的說(shuō)明,參閱DEBUGW命令。二、應(yīng)用舉例需要退出DEBUG時(shí),輸入以下命令:Q退出DEBUG后,MS-DOS顯示MS-DOS提示符。DEBUG:R(寄存器)一、概述顯示或修改中央處理器(CPU)各寄存器的內(nèi)容。格式Rregister-name顯示當(dāng)前所有寄存器和標(biāo)志位的內(nèi)容,使用如下格式內(nèi)容。R參數(shù)register-name指定寄出存器名。相關(guān)命令有關(guān)內(nèi)存內(nèi)容顯示的說(shuō)明,參閱DEBUGD命令。有關(guān)匯編內(nèi)存字節(jié)的說(shuō)
溫馨提示
- 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版私募股權(quán)投資15%股權(quán)購(gòu)買協(xié)議3篇
- 五下快樂(lè)讀書吧《水滸傳》|高頻考點(diǎn)50個(gè)
- 2024年電子企業(yè)核心保密協(xié)議樣本版B版
- 2024批次毛石購(gòu)銷協(xié)議細(xì)則一
- 2025年度攤位租賃與品牌推廣合作合同3篇
- 2024投資借款協(xié)議書范本
- 2024年項(xiàng)目股份買賣合同樣本3篇
- 咖啡調(diào)機(jī)知識(shí)培訓(xùn)課件
- 2024版文化藝術(shù)作品創(chuàng)作合同
- 減速機(jī)知識(shí)培訓(xùn)課件
- 2025屆浙江省杭州市學(xué)軍中學(xué)生物高一第一學(xué)期期末統(tǒng)考試題含解析
- 互助資金管理辦法
- 青島版科學(xué)四年級(jí)下冊(cè)課程綱要
- 金葡素注射液與血小板功能的關(guān)聯(lián)
- 澳門的英文5篇
- 財(cái)富:2024年《財(cái)富》世界500 強(qiáng)排行榜
- NB/T 11434.5-2023煤礦膏體充填第5部分:膠凝材料技術(shù)要求
- NB-T32036-2017光伏發(fā)電工程達(dá)標(biāo)投產(chǎn)驗(yàn)收規(guī)程
- 信息技術(shù)-計(jì)算機(jī)第三方支付行業(yè)深度報(bào)告:監(jiān)管加速第三方支付合規(guī)及出清提費(fèi)利潤(rùn)彈性巨大
- 年終培訓(xùn)機(jī)構(gòu)述職報(bào)告
- 稅務(wù)合規(guī)協(xié)議
評(píng)論
0/150
提交評(píng)論