組合語言除錯DEBUG命令

2021-09-14 00:15:03 字數 3133 閱讀 9527

1、顯示命令d

① d [位址]

② d [範圍]

如不指定範圍,一次顯示8行×16個位元組。

-d  ;預設段暫存器為ds,當前偏移位址

-d ds:100 / -d cs:200

-d 200:100

-d 200;200為偏移位址,預設段暫存器ds

-d ds:100 110/ -d 100 l 10

2.修改命令e

① e 位址  ;從指定位址開始,修改(或連續修改)儲存單元內容。debug首先顯示指定單元內容,如要修改,可輸入新資料;空格鍵顯示下乙個單元內容並可修改,減號鍵顯示上乙個單元內容並可修改;如不修改,可直接按空格鍵或減號鍵;回車鍵結束命令。

② e 位址 資料表;從指定的位址開始用資料表給定的資料修改儲存單元。

-e ds:100 f3 『ab』 8d。

3.添充命令f

f 範圍 資料表;

將資料表寫入指定範圍的儲存單元;資料個數多,忽略多出的資料,個數少,則重複使用資料表。

-f ds:0 l5 01,02,03,04,05

-f ds:0 l5 01 02 03 04 05(空格分隔)

-f ds:0 l5 ff ;5個位元組重複使用ff

4.顯示修改暫存器命令r

r;★顯示所有暫存器和標誌位狀態;

★顯示當前cs:ip指向的指令。

顯示標誌時使用的符號:

標誌 標誌=1 標誌=0

of ov nv

df dn up

if ei di

sf ng pl

zf zr nz

af ac na

pf pe po

cf cy nc

5.彙編命令a

注釋:①在debug下編寫簡單程式即使用a命令。

②每條指令後要按回車。

③不輸入指令按回車,或按ctrl+c結束彙編。

④支援所有8086符號硬指令,偽指令只支援db、dw,不支援各類符號名。

6.反彙編命令u

① u [位址];從指定位址開始反彙編32個位元組的機器指令;省略位址時,則接著上乙個u命令的最後乙個單元開始;若第一次使用u命令省略位址,則從當前cs:ip開始(通常是cs:100)。

② u 範圍;對指定範圍的單元進行反彙編。

-u-u100

-u100l10

7.執行程式命令g

① g;從cs:ip指向的指令開始執行程式,直到程式結束或遇到int 3。

② g=位址;從指定位址開始執行程式,直到程式結束或遇到int 3。

③ g 斷點1[,斷點2,…斷點10];從cs:ip指向的指令開始執行程式,直到遇到斷點。

④g=位址 斷點1[,斷點2,…斷點10]

-g ;從cs:ip指向的指令開始執行程式。

-g=100 ;從指定位址開始執行程式。

-g=100 105 110 120

8.跟蹤命令(單步執行命令)t

① t;從當前ip開始執行一條指令。

② t 數值;從當前ip開始執行多條指令。

② t =位址;

③ t =位址 數值;

-t-t5 / -t=100 5

9.跟蹤執行並跳過子程式命令p

p [=位址] [數值];類似t命令,但跳過子程式和中斷服務程式。
10.退出debug命令q

q;返回dos環境。

-q

11.命名命令n

n 檔案標示符;指定檔案,以便用w命令在磁碟上生成該檔案,或者用l命令從磁碟裝入該檔案。

-n my_pro.com

寫盤:在當前盤當前目錄生成指定檔案。

讀盤:在當前盤當前目錄讀取指定檔案。

- n a:\ user \ my_pro.com

12.裝入命令l

-n my_pro.com

-l② l 位址 驅動器號 扇區號 扇區數;將某驅動器的若干扇區(最多80h個)裝入記憶體;

0=a,1=b,2=c……;預設的段位址為cs。

-l ds:200 2 0 1

13.寫盤命令w

① w [位址];將指定位址開始的記憶體資料寫入磁碟,生成n命令指定的檔案;預設的記憶體位址為
cs:100;寫盤的位元組數由bx(高位字)和cx(低位字)決定,可執行程式寫盤時,副檔名應指定.com。

-n  my_pro.com

-w② w 位址 驅動器號 扇區號 扇區數;將記憶體資料寫入磁碟的若干扇區(最多80h);預設的段位址為cs。

-w ds:0 2 0 1

注釋:寫磁碟扇區要慎用

14.其他命令

(1)比較命令c

c 範圍 位址;將指定範圍內的內容與以指定位址為起點的內容相比較。

(2)16進製制數計算命令h

h 數1,數2(h 數1 數2);同時計算兩個數字的和與差。

(3)查詢命令s

s 範圍 資料;在指定範圍內查詢指定資料。

(4)輸入命令i

i 埠位址;輸入乙個位元組並顯示。

(5)輸出命令o

o 埠位址 位元組資料;輸出到指定的埠。

(6)傳送命令m

m 範圍 位址;將指定範圍的內容傳送到以指定位址為起點的儲存單元。

王爽組合語言debug命令彙總

r 檢視所有暫存器資料 r ax 改變ax裡的數,輸入的是數字 ip cs都可以這麼改 d 1000 0 檢視記憶體中的內容 不是暫存器 會顯示從10000到1000 007f的所有128個資料,每行16個 如果1000 9,則從1000 9開始,顯示128個數 d未指定位址,則從預設的位址處開始 ...

組合語言debug的使用方法

進入windows作業系統,輸入cmd回車 輸入debug 回車,這樣就進入了 debug模式 1 輸入 r 檢視或者修改暫存器,可以修改cs ip來指向要執行彙編的記憶體位址 r 回車 檢視 r ax 回車 修改 ax的值 r cs 回車 修改 cs的值 r ip 回車 修改 ip的值 2 輸入 ...

組合語言實驗(DEBUG的使用)

一 實驗目的 1.熟悉debug的功能及執行。2.掌握debug常用命令。二 實驗內容 debug的載入及其常用命令 a u r d e t p g q 的使用情況。注意 微機進入debug狀態下之後,一切立即數和位址資料均被預設為十六進製制數,在輸入時數的後面不加字尾 h 2.將資料段中的兩個數求...