請問在debug狀態下,怎樣寫入程式?用a指令怎麼寫程式

2022-06-04 15:35:19 字數 4511 閱讀 6853

1樓:

debug

啟動 debug,它是可用於測試和除錯 ms-dos 可執行檔案的程式。

debug [[drive:][path] filename [parameters]]

引數 [drive:][path] filename

指定要測試的可執行檔案的位置和名稱。

parameters

指定要測試的可執行檔案所需要的任何命令列資訊。

++ 說明

使用 debug 命令但不指定要測試的檔案

如果使用沒有位置和檔名的 debug 命令,然後鍵入所有的 debug 命令以響應 debug

提示符,連字元 (-)。

debug 命令

以下是 debug 命令列表:

? 顯示 debug 命令列表。

a 彙編 8086/8087/8088 記憶碼。

c 比較記憶體的兩個部分。

d 顯示部分記憶體的內容。

e 從指定地址開始,將資料輸入到記憶體。

f 使用指定值填充一段記憶體。

g 執行在記憶體中的可執行檔案。

h 執行十六進位制運算。

i 顯示來自特定埠的 1 位元組值。

l 將檔案或磁碟扇區內容載入到記憶體。

m 複製記憶體塊中的內容

/n 為 l 或 w 命令指定檔案,或者指定正在測試的檔案的引數。

o 向輸出埠傳送 1 個位元組的值。

p 執行迴圈、重複的字串指令、軟體中斷或子例程。

q 停止 debug 會話。

r 顯示或改變一個或多個暫存器。

s 在部分記憶體中搜尋一個或多個位元組值的模式。

t 執行一條指令,然後顯示所有暫存器的內容、所有標誌的狀態和 debug 下一步要執行

的指令的解碼形式。

u 反彙編位元組並顯示相應的原語句。

w 將被測試檔案寫入磁碟。

xa 分配擴充套件記憶體。

xd 釋放擴充套件記憶體。

xm 對映擴充套件記憶體頁。

xs 顯示擴充套件記憶體的狀態。

分隔命令引數

所有 debug 命令都接受引數,除了 q 命令之外。可以用逗號或空格分隔引數,但是隻

有在兩個十六進位制值之間才需要這些分隔符。因此,以下命令等價:

dcs:100 110

d cs:100 110

d,cs:100,110

指定有效地址項

debug 命令中的 address 引數指定記憶體位置。address 是一個包含字母段記錄的二位名

稱或一個四位欄位地址加上一個偏移量。可以忽略段暫存器或段地址。a,g,l,t,u

和 w 命令的預設段是 cs。所有其他命令的預設段是 ds。所有數值均為十六進位制格式。

有效地址如下:

cs:0100

04ba:0100

在段名和偏移量之間要有冒號。

指定有效範圍項

debug 命令中的 range 引數指定了記憶體的範圍。可以為 range 選擇兩種格式:起始地

址和結束地址,或者起始地址和長度範圍(由 l 表示)。

例如,下面的兩個語法都可以指定從 cs:100 開始的 16 位元組範圍:

cs:100 10f

cs:100 l 10

++ debug 子命令

選擇 debug 命令以獲得詳細資訊。

debug:a(彙編)

debug:c(比較)

debug**儲)

debug:e(鍵入)

debug:f(填充)

debug:g**向)

debug:h(十六進位制)

debug:i(輸入)

debug(載入)

debug:m(移動)

debug:n(名稱)

debug:o(輸出)

debug(執行)

debug(退出)

debug:r(暫存器)

debug:s(搜尋)

debug:t(跟蹤)

debug:u(反彙編)

debug:w(寫入)

debug:xa(分配擴充套件記憶體)

debug:xd(取消分配擴充套件記憶體)

debug:xm(對映擴充套件記憶體頁)

debug:xs(顯示擴充套件記憶體狀態)

2樓:秒懂百科

debug命令:程式除錯工具

請問一下為什麼在debug用a命令寫入彙編指令的時候,預設的cs:ip指向的是13b2:0100

彙編中怎麼用debug除錯程式

3樓:

啟動 debug,它是可用於測試和除錯 ms-dos 可執行檔案的程式。

debug [[drive:][path] filename [parameters]]

引數 [drive:][path] filename

指定要測試的可執行檔案的位置和名稱。

parameters

指定要測試的可執行檔案所需要的任何命令列資訊。

++ 說明

使用 debug 命令但不指定要測試的檔案

如果使用沒有位置和檔名的 debug 命令,然後鍵入所有的 debug 命令以響應 debug 提示符,連字元 (-)。

debug 命令

以下是 debug 命令列表:

? 顯示 debug 命令列表。

a 彙編 8086/8087/8088 記憶碼。

c 比較記憶體的兩個部分。

d 顯示部分記憶體的內容。

e 從指定地址開始,將資料輸入到記憶體。

f 使用指定值填充一段記憶體。

g 執行在記憶體中的可執行檔案。

h 執行十六進位制運算。

i 顯示來自特定埠的 1 位元組值。

l 將檔案或磁碟扇區內容載入到記憶體。

m 複製記憶體塊中的內容

/n 為 l 或 w 命令指定檔案,或者指定正在測試的檔案的引數。

o 向輸出埠傳送 1 個位元組的值。

p 執行迴圈、重複的字串指令、軟體中斷或子例程。

q 停止 debug 會話。

r 顯示或改變一個或多個暫存器。

s 在部分記憶體中搜尋一個或多個位元組值的模式。

t 執行一條指令,然後顯示所有暫存器的內容、所有標誌的狀態和 debug 下一步要執行的指令的解碼形式。

u 反彙編位元組並顯示相應的原語句。

w 將被測試檔案寫入磁碟。

xa 分配擴充套件記憶體。

xd 釋放擴充套件記憶體。

xm 對映擴充套件記憶體頁。

xs 顯示擴充套件記憶體的狀態。

分隔命令引數

所有 debug 命令都接受引數,除了 q 命令之外。可以用逗號或空格分隔引數,但是只有在兩個十六進位制值之間才需要這些分隔符。因此,以下命令等價:

dcs:100 110

d cs:100 110

d,cs:100,110

指定有效地址項

debug 命令中的 address 引數指定記憶體位置。address 是一個包含字母段記錄的二位名稱或一個四位欄位地址加上一個偏移量。可以忽略段暫存器或段地址。

a,g,l,t,u 和 w 命令的預設段是 cs。所有其他命令的預設段是 ds。所有數值均為十六進位制格式。

有效地址如下:

cs:0100

04ba:0100

在段名和偏移量之間要有冒號。

指定有效範圍項

debug 命令中的 range 引數指定了記憶體的範圍。可以為 range 選擇兩種格式:起始地址和結束地址,或者起始地址和長度範圍(由 l 表示)。

例如,下面的兩個語法都可以指定從 cs:100 開始的 16 位元組範圍:

cs:100 10f

cs:100 l 10

++ debug 子命令

選擇 debug 命令以獲得詳細資訊。

debug:a(彙編)

debug:c(比較)

debug**儲)

debug:e(鍵入)

debug:f(填充)

debug:g**向)

debug:h(十六進位制)

debug:i(輸入)

debug:l(載入)

debug:m(移動)

debug:n(名稱)

debug:o(輸出)

debug:p(執行)

debug:q(退出)

debug:r(暫存器)

debug:s(搜尋)

debug:t(跟蹤)

debug:u(反彙編)

debug:w(寫入)

debug:xa(分配擴充套件記憶體)

debug:xd(取消分配擴充套件記憶體)

debug:xm(對映擴充套件記憶體頁)

debug:xs(顯示擴充套件記憶體狀態)

4樓:秦玉明

在命令列下鍵入debug /?系統會顯示debug的用法。在命令列下鍵入debug然後再鍵入?,系統會給出詳細的除錯命令幫助!自己動手吧!

5樓:

要看你在什麼樣的彙編環境下

電腦上怎樣在英語狀態下輸入大於小於符號和大於等於符號這些啊

切換成英文狀態,然後按住shift 小於或大於鍵,大於等於是shift 大於,然後按等於鍵,等於鍵直接按就行,希望能幫到你 電腦鍵盤上怎麼輸入大於等於 小於符號 怎麼輸入?方法一 用搜狗拼音輸入 大於等於 小於等於 會自動出現。方法二 調出輸入法後在螢幕下方會出現一個輸入法的小矩形塊,右鍵點小鍵盤選...

在dos狀態下無法格式化硬碟

對cmos放電不會使format命令失效,可是是你啟動到dos下的啟動盤不帶format命令或者是當前目錄下沒有此命令,可以用dir命令列印一下,看是否有這個檔案。或者用win98的盤啟動到dos下,然後進入光碟帶有format命令的目錄進行格式化,如果不是第一次格式化,建議用快速格式化,加個q就可...

古箏MT 31Z調音器在模式狀態下怎樣調到適合D調的音準

你這個是節拍器 模式,起碼要調到酵音器模式才行啊 校音器模式的特點是通常會有回一個400多的數字,那個數答字通常是440,調成那樣才可以校音 初始設定的校音模式一般都是12平均律的,要先切換成d調應該按一個什麼鍵,挨個試過不好使的話就試著長按,校音器的操作基本上都是這樣的 除了d調應該還可以調別的調...