實(shí)驗(yàn)一利用DEBUG調(diào)試程序調(diào)試程序段_第1頁
實(shí)驗(yàn)一利用DEBUG調(diào)試程序調(diào)試程序段_第2頁
實(shí)驗(yàn)一利用DEBUG調(diào)試程序調(diào)試程序段_第3頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

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

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

3、也可沒有空格;若直接在“ -”之后回車,則保留原標(biāo)志值。由顯示可知,相應(yīng)的標(biāo)志值改變了。? A 命令格式: -A 內(nèi)存地址執(zhí)行匯編命令 A 后,相應(yīng)的指令對應(yīng)的機(jī)器碼將會依次存放在指定的 內(nèi)存單元中,并提示下一地址。? U 命令 格式: -U 內(nèi)存塊 由顯示可知,反匯編命令 U 從指定的內(nèi)存地址開始對內(nèi)存塊進(jìn)行反匯 編,并分三列顯示反匯編的結(jié)果。? N 命令格式: -N【e】【 PATH 】文件名 .擴(kuò)展名? W 命令 L 命令 格式: -W/L 內(nèi)存地址由顯示可知,命令 N 為命令 W 和命令 L 指定文件,而命令 W 把指定 內(nèi)存塊的內(nèi)容寫入命令 N 指定文件中,命令 L 則將其文件裝入內(nèi)

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

5、 3 。? D 命令 格式: -D 內(nèi)存塊? E 命令格式 1:-E 內(nèi)存地址 字符或數(shù)值串 格式 2:-E 內(nèi)存地址由圖示可知, D 命令顯示內(nèi)存 2000 與 2003 中的內(nèi)容,而 E 命令則能 修改內(nèi)存地址中的內(nèi)容。? F 命令格式 :-F 內(nèi)存塊 字符或數(shù)值串由圖示可知,該 F 命令將指定的字符或數(shù)值串填入指定的內(nèi)存塊,即 將字符串 Hello World! '填入 DS:2000H 至 2100H 的內(nèi)存塊中。? S 命令格式: -S 內(nèi)存塊 字符或數(shù)值串該命令為在指定的內(nèi)存塊內(nèi)搜索指定的字符或數(shù)值串。圖中為在DS:2000H 開始,大小為 20H 的內(nèi)存塊中查找字符串“

6、Hello World!? M 命令格式: -M 內(nèi)存塊 1 內(nèi)存塊 2 的首地址該命令將內(nèi)存塊 1 的內(nèi)容復(fù)制到內(nèi)存塊 2,內(nèi)存塊 1 的內(nèi)容不變。 圖示 將 2000: 100H 開始,大小為 20H 的內(nèi)存塊復(fù)制到 DS:200H 開始的內(nèi) 存處。? C 命令格式: -C 內(nèi)存塊 1 內(nèi)存塊 2 的首地址該命令順序比較兩內(nèi)存塊各單元的內(nèi)容。如圖示為比較 DS:200H 和 2000H:200H 開始,大小為 20H 的兩內(nèi)存塊。(3)利用 DEBUG ,驗(yàn)證乘法、除法、加法、減法、帶進(jìn)位加、帶借位減、 堆棧操作指令、串操作指令的功能。? 乘法 MUL格式: MUL SRC? 除法 DIV 格式: DIV SRC? 加法 ADD 格式: ADD DST, SRC? 減法 SUB 格式: SUB DST, SRC帶進(jìn)位加 ADC帶借位減 SBB堆棧操作指令 PUSH/POP3. 實(shí)驗(yàn)準(zhǔn)備( 1) 仔細(xì)設(shè)計(jì)有關(guān) DEBUG 命令的內(nèi)容,對有關(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 子目錄下啟動 DEBUG 。2)詳細(xì)記錄每一步所用的命令,以

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論