




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、DEBUG命令大全啟動(dòng) Debug,它是可用于測(cè)試和調(diào)試 MS-DOS 可執(zhí)行文件的程序。 Debug drive:path filename parameters 參數(shù) drive:path filename 指定要測(cè)試的可執(zhí)行文件的位置和名稱。 parameters 指定要測(cè)試的可執(zhí)行文件所需要的任何命令行信息。 說(shuō)明 使用 Debug 命令但不指定要測(cè)試的文件 如果使用沒(méi)有位置和文件名的 Debug 命令,然后鍵入所有的 Debug 命令以響應(yīng) Debug 提示符,連字符 (-)。 Debug 命令 以下是 Debug 命令列表: ? 顯示 Debug 命令列表。 a 匯編 8086/8
2、087/8088 記憶碼。 c 比較內(nèi)存的兩個(gè)部分。 d 顯示部分內(nèi)存的內(nèi)容。 e 從指定地址開(kāi)始,將數(shù)據(jù)輸入到內(nèi)存。 f 使用指定值填充一段內(nèi)存。 g 運(yùn)行在內(nèi)存中的可執(zhí)行文件。 h 執(zhí)行十六進(jìn)制運(yùn)算。 i 顯示來(lái)自特定端口的 1 字節(jié)值。 l 將文件或磁盤(pán)扇區(qū)內(nèi)容加載到內(nèi)存。 m 復(fù)制內(nèi)存塊中的內(nèi)容 /n 為 l 或 w 命令指定文件,或者指定正在測(cè)試的文件的參數(shù)。 o 向輸出端口發(fā)送 1 個(gè)字節(jié)的值。 p 執(zhí)行循環(huán)、重復(fù)的字符串指令、軟件中斷或子例程。 q 停止 Debug 會(huì)話。 r 顯示或改變一個(gè)或多個(gè)寄存器。 s 在部分內(nèi)存中搜索一個(gè)或多個(gè)字節(jié)值的模式。 t 執(zhí)行一條指令,然后顯示
3、所有寄存器的內(nèi)容、所有標(biāo)志的狀態(tài)和 Debug 下一步要執(zhí)行的指令的解碼形式。 u 反匯編字節(jié)并顯示相應(yīng)的原語(yǔ)句。 w 將被測(cè)試文件寫(xiě)入磁盤(pán)。 xa 分配擴(kuò)展內(nèi)存。 xd 釋放擴(kuò)展內(nèi)存。 xm 映射擴(kuò)展內(nèi)存頁(yè)。 xs 顯示擴(kuò)展內(nèi)存的狀態(tài)。 · 分隔命令參數(shù) 所有 Debug 命令都接受參數(shù),除了 q 命令之外??梢杂枚禾?hào)或空格分隔參數(shù),但是只有在兩個(gè)十六進(jìn)制值之間才需要這些分隔符。因此,以下命令等價(jià): dcs:100 110 d cs:100 110 d,cs:100,110 · 指定有效地址項(xiàng) Debug 命令中的 address 參數(shù)指定內(nèi)存位置。Address 是一個(gè)
4、包含字母段記錄的二位名稱或一個(gè)四位字段地址加上一個(gè)偏移量。可以忽略段寄存器或段地址。a,g,l,t,u 和 w 命令的默認(rèn)段是 CS。所有其他命令的默認(rèn)段是 DS。所有數(shù)值均為十六進(jìn)制格式。 有效地址如下: CS:0100 04BA:0100 在段名和偏移量之間要有冒號(hào)。 · 指定有效范圍項(xiàng) Debug 命令中的 range 參數(shù)指定了內(nèi)存的范圍。可以為 range 選擇兩種格式:起始地址和結(jié)束地址,或者起始地址和長(zhǎng)度范圍(由 l 表示)。 例如,下面的兩個(gè)語(yǔ)法都可以指定從 CS:100 開(kāi)始的 16 字節(jié)范圍: cs:100 10f cs:100 l 10 + Debug 子命令
5、選擇 Debug 命令以獲得詳細(xì)信息。 Debug:A(匯編) Debug:C(比較) Debug(轉(zhuǎn)儲(chǔ)) Debug:E(鍵入) Debug:F(填充) Debug:G(轉(zhuǎn)向) Debug:H(十六進(jìn)制) Debug:I(輸入) Debug:L(加載) Debug:M(移動(dòng)) Debug:N(名稱) Debug:O(輸出) Debug:P(執(zhí)行) Debug:Q(退出) Debug:r(寄存器) Debug:s(搜索) Debug:T(跟蹤) Debug:U(反匯編) Debug:W(寫(xiě)入) Debug:XA(分配擴(kuò)展內(nèi)存) Debug:XD(取消分配擴(kuò)展內(nèi)存) Debug:XM(映射擴(kuò)展內(nèi)
6、存頁(yè)) Debug:XS(顯示擴(kuò)展內(nèi)存狀態(tài)) *Debug子命令* Debug:A(匯編) 直接將 8086/8087/8088 記憶碼合并到內(nèi)存。 該命令從匯編語(yǔ)言語(yǔ)句創(chuàng)建可執(zhí)行的機(jī)器碼。所有數(shù)值都是十六進(jìn)制格式,必須按一到四個(gè)字符輸入這些數(shù)值。在引用的操作代碼(操作碼)前指定前綴記憶碼。 a address 參數(shù) address 指定鍵入?yún)R編語(yǔ)言指令的位置。對(duì) address 使用十六進(jìn)制值,并鍵入不以“h”字符結(jié)尾的每個(gè)值。如果不指定地址,a 將在它上次停止處開(kāi)始匯編。 有關(guān)將數(shù)據(jù)輸入到指定字節(jié)中的信息,請(qǐng)單擊“相關(guān)主題”列表中的 Debug E(鍵入)。 有關(guān)反匯編字節(jié)的信息,請(qǐng)單擊“
7、相關(guān)主題”列表中的 Debug U(反匯編)。 范例 a 命令支持所有形式的間接注冊(cè)命令,如下例所示: add bx,34bp+2.si-1 pop bp+di push si ) 還支持所有操作碼同義詞,如下例所示: loopz 100 loope 100 ja 200 jnbe 200 對(duì)于 8087 操作碼,必須指定 wait 或 fwait 前綴,如下例所示: fwait fadd st,st(3) ; this line assembles ; an fwait prefix 說(shuō)明 使用記憶碼 段的替代記憶碼為 cs:、ds:、es: 和 ss:。遠(yuǎn)程返回的記憶碼是 retf。字符串
8、處理的記憶碼必須明確聲明字符串大小。例如,使用 movsw 可以移動(dòng) 16 位的字串,使用 mov*(文字因故被系統(tǒng)屏蔽)*(文字因故被系統(tǒng)屏蔽) 可以移動(dòng) 8 位字節(jié)串。 匯編跳轉(zhuǎn)和調(diào)用 匯編程序根據(jù)字節(jié)替換自動(dòng)將短、近和遠(yuǎn)的跳轉(zhuǎn)及調(diào)用匯編到目標(biāo)地址。通過(guò)使用 near 或 far 前綴可以替代這樣的跳轉(zhuǎn)或調(diào)用,如下例所示: -a0100:0500 0100:0500 jmp 502 ; a 2-byte short jump 0100:0502 jmp near 505 ; a 3-byte near jump 0100:0505 jmp far 50a ; a 5-byte far ju
9、mp 可以將 near 前綴縮寫(xiě)為 ne。 區(qū)分字和字節(jié)內(nèi)存位置 當(dāng)某個(gè)操作數(shù)可以引用某個(gè)字內(nèi)存位置或者字節(jié)內(nèi)存位置時(shí),必須用前綴 word ptr 或者前綴 byte ptr 指定數(shù)據(jù)類型??山邮艿目s寫(xiě)分別是 wo 和 by。以下范例顯示兩種格式: dec wo si neg byte ptr 128 指定操作數(shù) Debug 使用包括在中括號(hào) ( ) 的操作數(shù)引用內(nèi)存地址的習(xí)慣用法。這是因?yàn)榱硪环矫?Debug 不能區(qū)分立即操作數(shù)和內(nèi)存地址的操作數(shù)。以下范例顯示兩種格式: mov ax,21 ; load AX with 21h mov ax,21 ; load AX with the ;
10、contents of ; memory location 21h 使用偽指令 使用 a 命令提供兩個(gè)常用的偽指令:db 操作碼,將字節(jié)值直接匯編到內(nèi)存,dw 操作碼,將字值直接匯編到內(nèi)存。以下是兩個(gè)偽指令的范例: db 1,2,3,4,"THIS IS AN EXAMPLE" db THIS IS A QUOTATION MARK:" db "THIS IS A QUOTATION MARK:" dw 1000,2000,3000,"BACH" + Debug:C(比較) 比較內(nèi)存的兩個(gè)部分。 c range addres
11、s 參數(shù) range 指定要比較的內(nèi)存第一個(gè)區(qū)域的起始和結(jié)束地址,或起始地址和長(zhǎng)度。有關(guān)有效的 range 值的信息,請(qǐng)單擊“相關(guān)主題”列表中的“Debug 說(shuō)明”。 address 指定要比較的第二個(gè)內(nèi)存區(qū)域的起始地址。有關(guān)有效 address 值的信息,請(qǐng)單擊“相關(guān)主題”列表中的“Debug 說(shuō)明”。 + 范例 以下命令具有相同效果: c100,10f 300 c100l10 300 每個(gè)命令都對(duì) 100h 到 10Fh 的內(nèi)存數(shù)據(jù)塊與 300h 到 30Fh 的內(nèi)存數(shù)據(jù)塊進(jìn)行比較。 Debug 響應(yīng)前面的命令并顯示如下信息(假定 DS = 197F): 197F:0100 4D E4 1
12、97F:0300 197F:0101 67 99 197F:0301 197F:0102 A3 27 197F:0302 197F:0103 35 F3 197F:0303 197F:0104 97 BD 197F:0304 197F:0105 04 35 197F:0305 197F:0107 76 71 197F:0307 197F:0108 E6 11 197F:0308 197F:0109 19 2C 197F:0309 197F:010A 80 0A 197F:030A 197F:010B 36 7F 197F:030B 197F:010C BE 22 197F:030C 197F:
13、010D 83 93 197F:030D 197F:010E 49 77 197F:030E 197F:010F 4F 8A 197F:030F 注意列表中缺少地址 197F:0106 和 197F:0306。這表明那些地址中的值是相同的。 + 說(shuō)明 如果 range 和 address 內(nèi)存區(qū)域相同,Debug 將不顯示任何內(nèi)容而直接返回到 Debug 提示符。如果有差異,Debug 將按如下格式顯示: address1 byte1 byte2 addess2 + Debug(轉(zhuǎn)儲(chǔ)) 顯示一定范圍內(nèi)存地址的內(nèi)容。 d range 參數(shù) range 指定要顯示其內(nèi)容的內(nèi)存區(qū)域的起始和結(jié)束地址,
14、或起始地址和長(zhǎng)度。有關(guān)有效的 range 值的信息,請(qǐng)單擊“相關(guān)主題”列表中的“Debug 說(shuō)明”。如果不指定 range,Debug 程序?qū)囊郧?d 命令中所指定的地址范圍的末尾開(kāi)始顯示 128 個(gè)字節(jié)的內(nèi)容。 有關(guān)顯示寄存器內(nèi)容的信息,請(qǐng)單擊“相關(guān)主題”列表中的 Debug R(寄存器)。 + 范例 假定鍵入以下命令: dcs:100 10f Debug 按以下格式顯示范圍中的內(nèi)容: 04BA:0100 54 4F 4D 00 53 41 57 59-45 52 00 00 00 00 00 00 TOM.SAWYER. 如果在沒(méi)有參數(shù)的情況下鍵入 d 命令,Debug 按以前范例中所描
15、述的內(nèi)容來(lái)編排顯示格式。顯示的每行以比前一行的地址大 16 個(gè)字節(jié)(如果是顯示 40 列的屏幕,則為 8 個(gè)字節(jié))的地址開(kāi)頭。 對(duì)于后面鍵入的每個(gè)不帶參數(shù)的 d 命令,Debug 將緊接在最后顯示的命令后立即顯示字節(jié)內(nèi)容。 如果鍵入以下命令,Debug 將從 CS:100 開(kāi)始顯示 20h 個(gè)字節(jié)的內(nèi)容: dcs:100 l 20 如果鍵入以下命令,Debug 將顯示范圍從 CS 段的 100h 到 115h 中所有字節(jié)的內(nèi)容: dcs:100 115 + 說(shuō)明 當(dāng)使用 d 命令時(shí),Debug 以兩個(gè)部分顯示內(nèi)存內(nèi)容:十六進(jìn)制部分(每個(gè)字節(jié)的值都用十六進(jìn)制格式表示)和 ASCII 碼部分(每個(gè)
16、字節(jié)的值都用 ASCII 碼字符表示)。每個(gè)非打印字符在顯示的 ASCII 部分由句號(hào) (.) 表示。每個(gè)顯示行顯示 16 字節(jié)的內(nèi)容,第 8 字節(jié)和第 9 字節(jié)之間有一個(gè)連字符。每個(gè)顯示行從 16 字節(jié)的邊界上開(kāi)始。 + Debug:E(鍵入) 將數(shù)據(jù)輸入到內(nèi)存中指定的地址。 可以按十六進(jìn)制或 ASCII 格式鍵入數(shù)據(jù)。以前存儲(chǔ)在指定位置的任何數(shù)據(jù)全部丟失。 e address 參數(shù) address 指定輸入數(shù)據(jù)的第一個(gè)內(nèi)存位置。 list 指定要輸入到內(nèi)存的連續(xù)字節(jié)中的數(shù)據(jù)。 有關(guān)集成記憶碼的信息,請(qǐng)單擊“相關(guān)主題”列表中的 Debug A(匯編)。 有關(guān)顯示內(nèi)存部分內(nèi)容的信息,請(qǐng)單擊“相
17、關(guān)主題”列表中的 Debug D (轉(zhuǎn)儲(chǔ))。 + 范例 假定鍵入以下命令: ecs:100 Debug 按下面的格式顯示第一個(gè)字節(jié)的內(nèi)容: 04BA:0100 EB. 要將該值更改為 41,請(qǐng)?jiān)诓迦朦c(diǎn)鍵入 41,如下所示: 04BA:0100 EB.41_ 可以用一個(gè) e 命令鍵入連續(xù)的字節(jié)值。在鍵入新值后按 SPACEBAR(空格鍵),而不是按 ENTER 鍵。Debug 顯示下一個(gè)值。在此范例中,如果按三次 SPACEBAR(空格鍵),Debug 將顯示下面的值: 04BA:0100 EB.41 10. 00. BC._ 要將十六進(jìn)制值 BC 更改為 42,請(qǐng)?jiān)诓迦朦c(diǎn)鍵入 42,如下所示:
18、 04BA:0100 EB.41 10. 00. BC.42_ 假定決定值 10 應(yīng)該是 6F。要糾正該值,請(qǐng)按 HYPHEN 鍵兩次以返回到地址 0101(值 10)。Debug 顯示以下內(nèi)容: 04BA:0100 EB.41 10. 00. BC.42- 04BA:0102 00.- 04BA:0101 10._ 在插入點(diǎn)鍵入 6f 更改值,如下所示: 04BA:0101 10.6f_ 按 ENTER 停止 e 命令并返回到 Debug 提示符下。 以下是字符串項(xiàng)的范例: eds:100 "This is the text example" 該字符串將從 DS:100 開(kāi)始填充 24 個(gè)字節(jié)。 + 說(shuō)明 使用 address 參數(shù) 如果在沒(méi)有指定可選的 list 參數(shù)的值情況下指定 address 的值,Debug 將顯示地址和內(nèi)容,在下一行重復(fù)地址,并等待您的輸
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 包過(guò)培訓(xùn)機(jī)構(gòu)合同范本
- 勞工住宿合同范本
- 辦公用品購(gòu)置合同范本
- 共享菜園轉(zhuǎn)讓合同范本
- 公司外包收債合同范本
- 健康產(chǎn)業(yè)合同范本
- 農(nóng)村修橋工程合同范本
- 2024年重慶松山醫(yī)院招聘考試真題
- 寫(xiě)退貨合同范本
- 2024年重慶市永川區(qū)三教鎮(zhèn)招聘公益性崗位人員筆試真題
- 電是怎么產(chǎn)生的
- 新概念英語(yǔ)第一冊(cè)課文完整版
- 急救藥品搶救藥品培訓(xùn)
- 人教鄂教版三年級(jí)下冊(cè)科學(xué)全冊(cè)教案
- 如何做好一名優(yōu)秀的項(xiàng)目經(jīng)理
- (完整word版)中考定語(yǔ)從句精講+練習(xí)答案
- 110KV電纜敷設(shè)專項(xiàng)施工方案方案
- 醫(yī)師簽名(簽章)留樣備案表
- 0~6歲兒童眼保健和視力檢查標(biāo)準(zhǔn)技術(shù)操作
- 卷內(nèi)目錄填寫(xiě)式樣
- GB/T 15077-2008貴金屬及其合金材料幾何尺寸測(cè)量方法
評(píng)論
0/150
提交評(píng)論