資源描述:
《命令行調(diào)試程序Debug.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在PPT專區(qū)-天天文庫(kù)。
1、命令行調(diào)試程序DebugDEBUG的命令格式Debug命令清單顯示存儲(chǔ)單元的內(nèi)容:Dump修改存儲(chǔ)單元的內(nèi)容:Enter與Fill檢查和修改寄存器內(nèi)容:Register運(yùn)行命令:Go跟蹤命令:Trace匯編命令:Assemble反匯編命令:UnassembleDEBUG的命令格式Debug命令的運(yùn)行:純DOS:實(shí)模式Windows:虛擬86模式命令格式:DEBUG[filename][parameter...]Filename:DEBUG將要調(diào)試的文件名。Parameter:被調(diào)試程序的命令行參數(shù)。7/25/
2、20212匯編語(yǔ)言程序設(shè)計(jì)命令行調(diào)試程序DebugbyLinghyDebug命令清單命令解釋格式命令解釋格式A匯編A[地址]M移動(dòng)M范圍?地址C比較C[范圍]O輸出O端口地址D轉(zhuǎn)出D[范圍]或[地址]P單步執(zhí)行P[=地址][值]E鍵入E地址[表]Q退出QF填入F范圍表R寄存器R[寄存器]G執(zhí)行G[=地址][地址[地址...]]S搜索S范圍表H16進(jìn)制H值?值T單步跟蹤T[=地址]或[范圍]I輸入I端口地址U反匯編U[地址]或[范圍]7/25/20213匯編語(yǔ)言程序設(shè)計(jì)命令行調(diào)試程序DebugbyLinghyD
3、ebug命令參數(shù)說(shuō)明地址段寄存器值:偏移量CS:30段地址值:偏移量30:80偏移量8000范圍地址地址DS:080地址L長(zhǎng)度DS:0L607/25/20214匯編語(yǔ)言程序設(shè)計(jì)命令行調(diào)試程序DebugbyLinghy顯示存儲(chǔ)單元的內(nèi)容:DumpD[address]從指定地址開(kāi)始顯示80H個(gè)字節(jié)的內(nèi)容。例1:DF0:顯示DS:F0開(kāi)始的80H字節(jié)內(nèi)容例2:DES:F0例3:D80:80D[range]顯示指定地址范圍的存儲(chǔ)單元內(nèi)容。例4:D100200例5:D80:80100D從上次D命令的結(jié)束地址開(kāi)始顯示80
4、H個(gè)字節(jié)內(nèi)容。7/25/20215匯編語(yǔ)言程序設(shè)計(jì)命令行調(diào)試程序DebugbyLinghy修改存儲(chǔ)單元的內(nèi)容:Enter與FillE?address?[list]用給定的內(nèi)容列表替代指定地址開(kāi)始的存儲(chǔ)單元內(nèi)容。例1:E?DS:100??F3'XYZ'8D7AE?address逐個(gè)修改指定地址單元的內(nèi)容,回車鍵結(jié)束例2:E?100依次顯示每個(gè)單元的內(nèi)容:輸入數(shù)字修改原值,鍵入空格跳過(guò)該單元,回車鍵結(jié)束本次E命令。7/25/20216匯編語(yǔ)言程序設(shè)計(jì)命令行調(diào)試程序DebugbyLinghy修改存儲(chǔ)單元的內(nèi)容:En
5、ter與FillF?range??list用給定的內(nèi)容列表連續(xù)填充指定地址范圍的存儲(chǔ)單元。例1:F?DS:100?120'Hello!'-F?DS:100?120'Hello!'-DDS:10012013AA:010048656C6C6F212048-656C6C6F21204865Hello!Hello!He13AA:01106C6C6F212048656C-6C6F212048656C6Cllo!Hello!Hell13AA:01206Fo7/25/20217匯編語(yǔ)言程序設(shè)計(jì)命令行調(diào)試程序DebugbyL
6、inghy檢查和修改寄存器內(nèi)容:RegisterR顯示所有寄存器內(nèi)容和標(biāo)志位狀態(tài)。表:Debug程序標(biāo)志位符號(hào)表示標(biāo)志解釋標(biāo)志為1標(biāo)志為0OF溢出(是/否)OV(overflow)NVDF方向(減量/增量)DNUPIF中斷(允許/禁止)EIDISF符號(hào)(負(fù)/正)NG(negative)PL(plus)ZF結(jié)果為零(是/否)ZRNZAF輔助進(jìn)位(是/否)ACNAPF奇偶(偶/奇)PEPOCF進(jìn)位(是/否)CY(carry)NC7/25/20218匯編語(yǔ)言程序設(shè)計(jì)命令行調(diào)試程序DebugbyLinghy檢查和修改
7、寄存器內(nèi)容:RegisterR?register顯示和修改指定寄存器內(nèi)容。例2:RAXRF顯示和修改標(biāo)志位狀態(tài)。例3:RF7/25/20219匯編語(yǔ)言程序設(shè)計(jì)命令行調(diào)試程序DebugbyLinghy匯編命令:AssembleA[address]將輸入的匯編語(yǔ)言語(yǔ)句匯編為機(jī)器代碼,按順序存儲(chǔ)在指定地址開(kāi)始的存儲(chǔ)單元中。例1:A100從CS:100開(kāi)始存儲(chǔ)匯編后的機(jī)器碼。例2:A從上次A命令的結(jié)束地址開(kāi)始存儲(chǔ)指令機(jī)器碼。7/25/202110匯編語(yǔ)言程序設(shè)計(jì)命令行調(diào)試程序DebugbyLinghy反匯編命令:Un
8、assembleU[address]從指定地址開(kāi)始,反匯編32個(gè)字節(jié)。例1:U100U[range]對(duì)指定范圍內(nèi)的存儲(chǔ)單元進(jìn)行反匯編。例2:U100200U從上次U命令的結(jié)束地址開(kāi)始反匯編32字節(jié)7/25/202111匯編語(yǔ)言程序設(shè)計(jì)命令行調(diào)試程序DebugbyLinghy運(yùn)行命令:GoG?[=address1][address2[address3?...]]從起始地址address1開(kāi)始,運(yùn)行到斷