Debug 的主要命令

曲水通易發表於2013-10-10

DEBUG的主要命令:

0、退出Debug介面

1、彙編命令 (assemble)

A

A [address]; 從當前地址開始彙編

A 0100;從DS:100開始彙編

A 1000:0;從1000:0開始彙編指令

2、顯示記憶體命令 (dump)

D

D [range];顯示從當前起80H

D 0100;顯示從DS:0100起長80H長的記憶體

D 1000:0;顯示從1000:0開始長80H的記憶體

D 1000:0 9;檢視1000:0~1000:9的內容

3、修改儲存單元內容命令 (enter)

E

E address [list];  編輯當前地址記憶體

E 0100;編輯DS:0100

E 1000:10;游標停在‘ . ’的後面提示輸入想要寫入的資料。 空格鍵表示單元修改結束(可不修改當前單元,跳到下一單元),enter鍵表示E命令結束

E 1000:10 b8 01 00 b9 02 00 01 c8;從1000:10開始的記憶體單元寫入8個位元組機器碼

4、填充記憶體命令(fill)

F

Frange list; 把指定內容送到指定地址中(慎用)

F0100 L10 90;把DS:0100開始的10位元組內容改為90

5、記憶體搬家命令(move)

M

Maddress range;順序不確定。。。

6、比較命令 (complare)

C

C range address; 比較DS:100和DS:200開始的20H長內容的異同

C 100 L20 200

7、搜尋指定內容命令(search)

S

S range list;range指定要搜尋範圍的開始和結束地址。

list指定一個或多個位元組值的模式,或要搜尋的字串。用空格或逗號分隔每個位元組值和下一個位元組值。將字串值包括在引號中。

scs:100 110 41 ;查詢包含值 41 並且範圍從 CS:100 到 CS:110 的所有地址

8、檢查、修改暫存器內容命令(register)

R

R ax;R命令後加暫存器名可修改暫存器內容,包括CS和IP

9、追蹤與顯示命令(trace)

T

T;從當前的CS:IP開始,執行一條指令後停下來

T [=address];從指定的地址起執行一條指令後停下來

T [=address][value];從指定的地址起執行n條指令後停下來,n由value指定

10、反彙編命令(unassemble)

U

U [address];從指定地址開始,反彙編32個位元組。檢視記憶體中機器碼的含義

如果地址被省略則從上一個U命令的最後一條指令的下一個單元開始顯示反彙編32個位元組

U [range];對指定範圍內的儲存單元進行反彙編

11、命名命令(name)

N

N filespecs[filespecs];命令把兩個檔案識別符號格式化在CS:5CH和CS:6CH的兩個檔案控制塊中,

以便在其後用L或W命令把檔案裝入存檔.filespecs的格式可以是: [d:][path] filename[.ext]

12、讀盤命令(load)

L

L [address[drive sector sector];把磁碟上指定扇區範圍的內容裝入到儲存器從指定地址開始的區域中

L[address] ;裝入指定檔案,此命令裝入已在CS:5CH中格式化了檔案控制塊所指定的檔案。

L;如未指定地址,則裝入CS:0100開始的儲存區中

13、寫盤命令(write)

W

W address drive sector sector 把資料寫入磁碟的指定扇區

W[address] ;把資料寫入指定的檔案中.此命令把指定的儲存區中的資料寫入由CS:5CH處的檔案控制塊所指定的檔案中

W   ;如未指定地址則資料從CS:0100開始。要寫入檔案的位元組數應先放入BX和CX中

14、輸入命令(input)

I

I port; 將某檔案或某驅動器,某磁軌,某扇區裝入記憶體

15、輸出命令(output)

O

16、執行命令(go)

G

G [=address][addresses] ; 執行程式的全部或部分

G = 0100  ;從DS:0100執行到程式結束

G 0100 ;從當前地址執行到 0100

17、十六進位制數運算命令(hex)

H

18、xa 分配擴充套件記憶體
19、xd 釋放擴充套件記憶體
20、xm 對映擴充套件記憶體頁
21、xs 顯示擴充套件記憶體的狀態


相關文章