實(shí)驗(yàn)一 利用debug調(diào)試程序調(diào)試程序段

實(shí)驗(yàn)一 利用debug調(diào)試程序調(diào)試程序段

ID:11515564

大?。?84.50 KB

頁(yè)數(shù):10頁(yè)

時(shí)間:2018-07-12

實(shí)驗(yàn)一 利用debug調(diào)試程序調(diào)試程序段_第1頁(yè)
實(shí)驗(yàn)一 利用debug調(diào)試程序調(diào)試程序段_第2頁(yè)
實(shí)驗(yàn)一 利用debug調(diào)試程序調(diào)試程序段_第3頁(yè)
實(shí)驗(yàn)一 利用debug調(diào)試程序調(diào)試程序段_第4頁(yè)
實(shí)驗(yàn)一 利用debug調(diào)試程序調(diào)試程序段_第5頁(yè)
資源描述:

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

1、明德至善博學(xué)篤行實(shí)驗(yàn)一利用DEBUG調(diào)試程序調(diào)試程序段1.實(shí)驗(yàn)?zāi)康模?)熟悉DEBUG有關(guān)命令的使用方法。(2)利用DEBUG掌握有關(guān)指令的功能。(3)利用DEBUG運(yùn)行簡(jiǎn)單的程序段。2.實(shí)驗(yàn)內(nèi)容、實(shí)驗(yàn)步驟(1)進(jìn)入和退出DEBUG程序。進(jìn)入DEBUG程序,Windows中在命令提示符下進(jìn)入DEBUG如圖:退出DEBUG如圖:(2)學(xué)會(huì)DEBUG中的D命令、E命令、R命令、T命令、A命令、G命令等的使用。對(duì)于U命令、N命令、W命令等,也應(yīng)試一下。?R命令:1)顯示所有寄存器內(nèi)容:格式:-R↙功能:以十六進(jìn)制形式顯示CPU內(nèi)部各寄存器的值:以符號(hào)形式標(biāo)志寄存器各標(biāo)志位(除T

2、F外)的值,并將CS:IP所指的內(nèi)存內(nèi)容反匯編成一條指令,可視為將要執(zhí)行的指令。l從顯示可知,CS=11A7H,IP=0000H.2)修改寄存器格式:-R寄存器名↙功能:DEBUG首先顯示指定寄存器的當(dāng)前值,并在下一行首給出提示“:”,等待用戶輸入新值,若直接回車相當(dāng)于不個(gè)忙寄存器的值。l由顯示可知,用E命令修改,再查看可發(fā)現(xiàn)數(shù)據(jù)已經(jīng)被改了。9/10明德至善博學(xué)篤行1)修改標(biāo)志值格式:-RF↙功能:先用符號(hào)顯示當(dāng)前各標(biāo)志位的值,并在末尾給出提示符“-”,然后等待用戶以符號(hào)形式輸入新的標(biāo)志值,對(duì)輸入的次序沒有要求,各標(biāo)志值之間也可沒有空格;若直接在“-”之后回車,則保留原標(biāo)

3、志值。l由顯示可知,相應(yīng)的標(biāo)志值改變了。?A命令格式:-A內(nèi)存地址↙l執(zhí)行匯編命令A(yù)后,相應(yīng)的指令對(duì)應(yīng)的機(jī)器碼將會(huì)依次存放在指定的內(nèi)存單元中,并提示下一地址。?U命令格式:-U內(nèi)存塊↙9/10明德至善博學(xué)篤行l(wèi)由顯示可知,反匯編命令U從指定的內(nèi)存地址開始對(duì)內(nèi)存塊進(jìn)行反匯編,并分三列顯示反匯編的結(jié)果。?N命令格式:-N【e】【PATH】文件名.擴(kuò)展名↙?W命令L命令格式:-W/L內(nèi)存地址l由顯示可知,命令N為命令W和命令L指定文件,而命令W把指定內(nèi)存塊的內(nèi)容寫入命令N指定文件中,命令L則將其文件裝入內(nèi)存地址中。?T命令1)單步執(zhí)行格式:-T=內(nèi)存地址↙l由顯示可知,T命令將

4、內(nèi)存地址的段地址和偏移地址修改CS和IP,然后執(zhí)行由CS:IP指向的內(nèi)存單元處的一條指令,顯示各寄存器的值,并反編下一條指令,然后返回DEBUG狀態(tài)。9/10明德至善博學(xué)篤行1)多步執(zhí)行格式:-T=內(nèi)存地址執(zhí)行指令條數(shù)↙l可知,該指令從指定的內(nèi)存地址開始執(zhí)行,直到執(zhí)行的指令條數(shù)與命令中給出的條數(shù)相等為止。圖為執(zhí)行從10DB:100H開始的兩條指令。?G命令格式:-G=內(nèi)存地址斷點(diǎn)地址↙l由圖示可知,G命令從給出的內(nèi)存地址0100開始取指令執(zhí)行,直到程序中遇到結(jié)束程序指令為止。如該命令中INT3。?D命令格式:-D內(nèi)存塊↙?E命令格式1:-E內(nèi)存地址字符或數(shù)值串↙格式2:-

5、E內(nèi)存地址l由圖示可知,D命令顯示內(nèi)存2000與2003中的內(nèi)容,而E命令則能修改內(nèi)存地址中的內(nèi)容。9/10明德至善博學(xué)篤行?F命令格式:-F內(nèi)存塊字符或數(shù)值串↙l由圖示可知,該F命令將指定的字符或數(shù)值串填入指定的內(nèi)存塊,即將字符串‘HelloWorld!’填入DS:2000H至2100H的內(nèi)存塊中。?S命令格式:-S內(nèi)存塊字符或數(shù)值串↙l該命令為在指定的內(nèi)存塊內(nèi)搜索指定的字符或數(shù)值串。圖中為在DS:2000H開始,大小為20H的內(nèi)存塊中查找字符串“HelloWorld!”。?M命令格式:-M內(nèi)存塊1內(nèi)存塊2的首地址↙l該命令將內(nèi)存塊1的內(nèi)容復(fù)制到內(nèi)存塊2,內(nèi)存塊1的內(nèi)容

6、不變。圖示將2000:100H開始,大小為20H的內(nèi)存塊復(fù)制到DS:200H開始的內(nèi)存處。9/10明德至善博學(xué)篤行?C命令格式:-C內(nèi)存塊1內(nèi)存塊2的首地址↙l該命令順序比較兩內(nèi)存塊各單元的內(nèi)容。如圖示為比較DS:200H和2000H:200H開始,大小為20H的兩內(nèi)存塊。(3)利用DEBUG,驗(yàn)證乘法、除法、加法、減法、帶進(jìn)位加、帶借位減、堆棧操作指令、串操作指令的功能。?乘法MUL格式:MULSRC?除法DIV格式:DIVSRC9/10明德至善博學(xué)篤行?加法ADD格式:ADDDST,SRC?減法SUB格式:SUBDST,SRC?帶進(jìn)位加ADC9/10明德至善博學(xué)篤行?

7、帶借位減SBB?堆棧操作指令PUSH/POP3.實(shí)驗(yàn)準(zhǔn)備(1)仔細(xì)設(shè)計(jì)有關(guān)DEBUG命令的內(nèi)容,對(duì)有關(guān)命令,都要事先準(zhǔn)備好使用的例子。(2)作為例子,準(zhǔn)備用A命令,輸入在顯示器上顯示字符“S”的系統(tǒng)調(diào)用程序段。(3)閱讀將AX左移9位的程序段。4.實(shí)驗(yàn)步驟(1)在DOS提示符下,進(jìn)入DEBUG程序。在DOS子目錄下啟動(dòng)DEBUG。(2)詳細(xì)記錄每一步所用的命令,以及查看結(jié)果的方法和具體結(jié)果。9/10明德至善博學(xué)篤行例:顯示S5.實(shí)驗(yàn)討論(1)啟動(dòng)DEBUG后,要裝入某一個(gè).EXE文件,應(yīng)通過(guò)什么方法去實(shí)現(xiàn)?格式:>[d:][

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

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

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(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)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。