-
1 # yrnat47409
-
2 # yrnat47409
DEBUG是一個DOS實用程式,是供程式設計師使用的程式除錯工具,可以用它檢查記憶體中任何地方的位元組以及修改任何地方的位元組。它可以用於逐指令執行某個程式以驗證程式執行的正確性,也可以追蹤執行過程、比較一個指令執行前後的值以及比較與移動記憶體中資料的範圍,讀寫檔案與磁碟扇區。 它的功能包括以下幾個方面。 ⒈ 直接輸入,更改,跟蹤,執行組合語言源程式; ⒉ 觀察作業系統的內容; 3.檢視ROM BIOS的內容; ⒋觀察更改RAM內部的設定值; ⒌以扇區或檔案的方式讀寫軟盤資料。 A 彙編命令 功能: 將指令直接彙編成機器碼輸入到記憶體中。 說明: 用於小段程式的彙編及修改目標程式,所有輸入的數字均採用十六進位制, 使用者裝入記憶體的彙編語句是連續存放的,若沒有指定地址,並且前面沒有使用匯編命令,該語句被彙編到 CS:0100區域。 例A:>DEBUG -a 0100 08F1:0100 MOV AH,09 08F1:0102 MOV DX,109 08F1:0105 INT 21H; 08F1:0107 INT 21H;debug tan.exe -u:反編譯成組合語言程碼 ………… . . -g 100 指定中斷點 Program terminated normally: 另外:我們在DEBUG下可執行一個檔案.EXE 如:A:\>debug tan.exe -g 即可開始執行此程式,和在DOS下完全一樣: * H[數值][數值] 十六進位制算術運算命令 功能: 分別顯示兩個十六進位制數相加的和以及第一個數減去第二個數的差。 說明: 替使用者完成簡單的十六進位制數的運算。 例:-h4538 5623 9B5B EF15 I命令 功能: 從指定的埠輸入並顯示(用十六進位制)的一個位元組。 例:-i70 F9;顯示70埠的內容為F9 I命令可由80X86的64K個埠取資料 L命令 功能: 將一個檔案或盤的絕對扇區裝入儲存器。 說明: 單個L命令能夠裝入的最大扇區數是 80H,其中盤號 0,1,2,3……分別代表 A,B,C,……出現讀盤錯,顯示錯誤資訊。 ⑴格式1.L裝入地址 驅動器名 起始扇區/扇區數 這種方式可把磁碟上指定扇區範圍的內容裝入到儲存器從指定地址開始的區域中,在此外扇區編號引用邏輯/扇區的方式。 例:-L 100 0 01,將A驅的0扇區裝至CS:100上 -d 100 10f 08F1:0100 EB 3C 90 3C 53 44 4F 53 -36 2E 32 32 02 01 01 00.L,MSDOS 6.22…… ⑵格式2:L裝入地址 這種方式可把指定檔案裝入記憶體,裝入的檔案可在進入DEBUG時指定亦可用N命令建立,格式為-n檔名: 例1 DEBUG tan.pas -L 100 例2 DEBUG -n tan.pas -L 100 須知:L命令只能讀取邏輯扇區,不能讀取硬碟分割槽表 L命令中所用的磁碟程式碼A=00,B=01,C=02……
回覆列表
DEBUG是一個DOS實用程式,是供程式設計師使用的程式除錯工具,可以用它檢查記憶體中任何地方的位元組以及修改任何地方的位元組。它可以用於逐指令執行某個程式以驗證程式執行的正確性,也可以追蹤執行過程、比較一個指令執行前後的值以及比較與移動記憶體中資料的範圍,讀寫檔案與磁碟扇區。 它的功能包括以下幾個方面。 ⒈ 直接輸入,更改,跟蹤,執行組合語言源程式; ⒉ 觀察作業系統的內容; 3.檢視ROM BIOS的內容; ⒋觀察更改RAM內部的設定值; ⒌以扇區或檔案的方式讀寫軟盤資料。 A 彙編命令 功能: 將指令直接彙編成機器碼輸入到記憶體中。 說明: 用於小段程式的彙編及修改目標程式,所有輸入的數字均採用十六進位制, 使用者裝入記憶體的彙編語句是連續存放的,若沒有指定地址,並且前面沒有使用匯編命令,該語句被彙編到 CS:0100區域。 例A:>DEBUG -a 0100 08F1:0100 MOV AH,09 08F1:0102 MOV DX,109 08F1:0105 INT 21H; 08F1:0107 INT 21H;debug tan.exe -u:反編譯成組合語言程碼 ………… . . -g 100 指定中斷點 Program terminated normally: 另外:我們在DEBUG下可執行一個檔案.EXE 如:A:\>debug tan.exe -g 即可開始執行此程式,和在DOS下完全一樣: * H[數值][數值] 十六進位制算術運算命令 功能: 分別顯示兩個十六進位制數相加的和以及第一個數減去第二個數的差。 說明: 替使用者完成簡單的十六進位制數的運算。 例:-h4538 5623 9B5B EF15 I命令 功能: 從指定的埠輸入並顯示(用十六進位制)的一個位元組。 例:-i70 F9;顯示70埠的內容為F9 I命令可由80X86的64K個埠取資料 L命令 功能: 將一個檔案或盤的絕對扇區裝入儲存器。 說明: 單個L命令能夠裝入的最大扇區數是 80H,其中盤號 0,1,2,3……分別代表 A,B,C,……出現讀盤錯,顯示錯誤資訊。 ⑴格式1.L裝入地址 驅動器名 起始扇區/扇區數 這種方式可把磁碟上指定扇區範圍的內容裝入到儲存器從指定地址開始的區域中,在此外扇區編號引用邏輯/扇區的方式。 例:-L 100 0 01,將A驅的0扇區裝至CS:100上 -d 100 10f 08F1:0100 EB 3C 90 3C 53 44 4F 53 -36 2E 32 32 02 01 01 00.L,MSDOS 6.22…… ⑵格式2:L裝入地址 這種方式可把指定檔案裝入記憶體,裝入的檔案可在進入DEBUG時指定亦可用N命令建立,格式為-n檔名: 例1 DEBUG tan.pas -L 100 例2 DEBUG -n tan.pas -L 100 須知:L命令只能讀取邏輯扇區,不能讀取硬碟分割槽表 L命令中所用的磁碟程式碼A=00,B=01,C=02……