Saturday, June 21, 2008

Debug.exe Commands Reference

DEBUG.EXE 指令說明
DEBUG [執行檔檔名] [該執行檔的外帶參數]

a [sta] 編寫組合語言程式指令碼,sta為啟始位址
c sta end sta2 比較兩個記憶體區塊,sta為第一區塊的起始位址,而end為第一區塊結束位置,sta2為第二區塊起始位址
c sta lnn sta2 比較兩個記憶體區塊,sta為第一區塊起始位址,而nn為欲比較的長度大小,sta2為第二區塊起始位址
d [sta] [end] 印某指定區塊記憶體至螢幕(sta:啟始、end:結束)
d [sta] [lnn] 印某指定區塊記憶體至螢幕(sta:啟始、nn:長度)
e [sta] 修改記憶體中某一個byte的資料,sta為位址
e [sta] [data] 修改記憶體中某一個byte的資料,data為新資料
g [end] 執行程式,直至結束位址(end)或程式結束時
g = sta [end] 執行從啟始(sta)直至結束(end)或程式結束時
r [reg] 顯示所有暫存器內容或修改某指定暫存器(reg)
t [num] 單步執行,num指定一次執行幾步(預設1)
t = sta [num] 單步執行,從sta起始,num指定執行幾步(預設1)
n filename 為目前正在編輯或除錯的檔案命名
w [sta] 儲存檔案,寫入cxbytes的資料至n指定的檔名
w sta dri sec num sta資料寫入dri磁碟的第sec磁區共寫num個磁區
l [sta] 載入檔案,讀出n指定檔名的資料至sta位址中
l sta dri sec num 讀出dri磁碟的第sec磁區的資料至sta共讀num個磁區
q   離開debug,返回DOS
u [sta] [end] 反組譯,從staend
u [sta] [lnn] 反組譯,從sta,共反組譯nnbytes
m sta end sta2 將第一區塊的記憶體搬至第二區塊中
m sta lnn sta2 將第一區塊的記憶體搬至第二區塊中
f sta end data 將一段資料(data)存入某指定之記憶體區
f sta lnn data nnbytes的資料存入某指定之記憶體區
s sta end data 搜尋data資料在指定位址內,data不限長度
s sta lnn data 搜尋data資料在指定位址內,data不限長度
h data data2 計算兩個資料的和與差並顯示在螢幕上
i inport 由輸入埠輸入並顯示一個byte
o outport 由輸出埠輸出一個byte