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

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

ID:11515564

大?。?84.50 KB

頁數(shù):10頁

時間:2018-07-12

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

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

1、明德至善博學(xué)篤行實驗一利用DEBUG調(diào)試程序調(diào)試程序段1.實驗?zāi)康模?)熟悉DEBUG有關(guān)命令的使用方法。(2)利用DEBUG掌握有關(guān)指令的功能。(3)利用DEBUG運行簡單的程序段。2.實驗內(nèi)容、實驗步驟(1)進入和退出DEBUG程序。進入DEBUG程序,Windows中在命令提示符下進入DEBUG如圖:退出DEBUG如圖:(2)學(xué)會DEBUG中的D命令、E命令、R命令、T命令、A命令、G命令等的使用。對于U命令、N命令、W命令等,也應(yīng)試一下。?R命令:1)顯示所有寄存器內(nèi)容:格式:-R↙功能:以十六進制形式顯示CPU內(nèi)部各寄存器的值:以符號形式標(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)于不個忙寄存器的值。l由顯示可知,用E命令修改,再查看可發(fā)現(xiàn)數(shù)據(jù)已經(jīng)被改了。9/10明德至善博學(xué)篤行1)修改標(biāo)志值格式:-RF↙功能:先用符號顯示當(dāng)前各標(biāo)志位的值,并在末尾給出提示符“-”,然后等待用戶以符號形式輸入新的標(biāo)志值,對輸入的次序沒有要求,各標(biāo)志值之間也可沒有空格;若直接在“-”之后回車,則保留原標(biāo)

3、志值。l由顯示可知,相應(yīng)的標(biāo)志值改變了。?A命令格式:-A內(nèi)存地址↙l執(zhí)行匯編命令A(yù)后,相應(yīng)的指令對應(yīng)的機器碼將會依次存放在指定的內(nèi)存單元中,并提示下一地址。?U命令格式:-U內(nèi)存塊↙9/10明德至善博學(xué)篤行l(wèi)由顯示可知,反匯編命令U從指定的內(nèi)存地址開始對內(nèi)存塊進行反匯編,并分三列顯示反匯編的結(jié)果。?N命令格式:-N【e】【PATH】文件名.擴展名↙?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)存地址斷點地址↙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,驗證乘法、除法、加法、減法、帶進位加、帶借位減、堆棧操作指令、串操作指令的功能。?乘法MUL格式:MULSRC?除法DIV格式:DIVSRC9/10明德至善博學(xué)篤行?加法ADD格式:ADDDST,SRC?減法SUB格式:SUBDST,SRC?帶進位加ADC9/10明德至善博學(xué)篤行?

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

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

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

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