當前位置:股票大全官網 - 基金投資 - 調試命令的命令功能

調試命令的命令功能

集合命令

功能:將指令直接匯編成機器碼,輸入內存。

註:用於匯編小程序,修改目標程序。所有輸入的數字都是十六進制的,用戶加載到內存中的匯編語句是連續存儲的。如果沒有指定地址,並且之前沒有使用assembly命令,則該語句被匯編到CS:0100區域。

示例a:>調試

-a 0100

08F1:0100 MOV啊09

08F1:0102 MOV傳真,109

08f 1:0105 INT 21H;

08f 1:0107 INT 21H;& lt在-XP下運行cmd調試時,應該是int 20h,INT 20H,21H會遇到無效指令錯誤。

08F1:0109 db“我能為您效勞嗎$”

08f1: 0115 ←離開A狀態。

-g ←操作

我可以幫妳運行結果嗎

程序正常終止意味著正常運行。

c比較命令

功能:比較兩個存儲區的內容,如果不同就顯示它們的地址和內容。

如c4000: 0 3f100

用於比較4000: 0000-4000: 003f和DS: 0100-DS: 013f之間的內容。顯示格式如下:

內存地址1包含值1包含值2內存地址2。

例:比較4000: 0 3f100的內容。

-C4000:0 3F 100

4000:0000 64 43 08f 1:0100

4000:00013e 69 08f 1:0101顯示內容差異

4000:0002 78 FF 08f 1:0102

……………………………………

如果要比較的範圍在DS內,段地址不需要指示:

如:-C 04 100;比較DS: 0-DS: 4和DS: 100-DS: 104。

c命令的另壹種格式如下:c地址1 L長度地址2。

如:-C000:0l 40;與從0000: 0開始的DS: 0相比,等於-C0000: 030命令,顯示結果如下:

C0 08F1:0000

0000:0001 10 20 08f 1:0001它們都比較4個字節。

0000:0002 1C 00 08f 1:0002

0000:0003 49 7F 08F1:0003

轉儲命令

* D[地址]或D[起始地址][目的地址]轉儲命令。

功能:以記憶圖像的形式顯示內存中的信息。

描述:Dump分左右兩部分顯示內存鏡像的內容,左邊是十六進制,右邊是ASCⅱII字符,所有不可打印的字符都用句號(。)說。每行顯示16個字節,在第八個和第九個字節之間有壹個連字符——該命令隱含的段地址是DS的值。如果未指定起始地址,D命令將從顯示的最後壹個單元格的下壹個單元格開始顯示。如果之前沒有使用過D命令,顯示將從初始化的段寄存器的內容開始,加上地址偏移量0100H。

例:-d10,4f是DS: 4f的內容。如果在D命令中沒有指定段地址,默認情況下它是DS段。

如果指定了段地址,則從指定的段地址開始列出指定的範圍。

比如:-dfff: 00: 0f

我們還可以指定長度來列出所需的內存內容。

比如-d 100 L20就是DS: 100顯示的內容-DS: 11f,***20H字節:

* E[地址][字節串]修改內存命令

功能:從指定地址修改內存值。

格式:e起始地址[數據線]

(1)用給定內容替換指定範圍的單元內容。

-E地址目錄

示例:-e 100 41 42 43 44 48 47 46 45

-D 100,L08

08f 1:0100 41 42 43 44 48 47 46 45 ABCDHGFE…

⑵逐個記憶內容。

例如:-E 100:

08F1: 01007642: 42由操作員輸入。

這個命令是將100的原始內存內容從76改為42,可以用d命令查看。

* F[地址範圍][字節或字節串]填充命令

功能:在地址範圍指定的內存中填充要填充的字節或字節串。

例如:-F 100 120 61 62 63 64

-d100 11f

08f 1:0100 61 62 63 64 61 62 63 64-61 62 63 64 61 62 63 63 ABCD ABCD ABCD ABCD

08f 1:010 13 67 98 E3 C8 2E B3 B6-03 21 AC 19 3121 4E 96g……1…

如果數據行超出指定範圍,未填充的值將被忽略。

例如:-f 100 107 41 43 43 44 45 46 47 48 49 4A 4B 4c 4d-d 100,lof。

08f 1:0100 41 42 43 44 45 46 47 64-61 62 63 64 abcdefgdabcdabbcd

從上面的例子可以看出,超出範圍的數據被忽略。

此外,f和e命令都可以填充字符串:

如:-F 100 105 MSDOS。

-d 100 l0f

08f 1:0100 4D 53 44 4F 53 46 47 64-61 62 63 64 MS DOS FGabcd ABCD

執行命令

功能:執行正在調試的程序,到達斷點時停止執行,顯示寄存器標誌和下壹個要執行的命令。

註意:如果沒有指定起始地址,則當前指令地址由CS和IP寄存器的內容決定。如果用戶指定了起始地址,執行將從指定的起始地址開始。如果指定了斷點,當指令到達指令地址時將停止執行,並顯示每個寄存器標誌位的內容和下壹個要執行的命令,允許用戶最多設置10個斷點。

示例:a: \ >調試tan.exe

-u:反編譯成匯編語言程序代碼

…………

。。

-g 100指定斷點

程序正常終止:

另外,我們可以運行壹個文件。調試下的。

如:a: \ >調試tan.exe

-g

妳可以開始運行這個程序,就像在DOS下壹樣:

* H[數值][數值]十六進制算術運算命令

功能:分別顯示兩個十六進制數之和以及第壹個數和第二個數之差。

描述:為用戶完成簡單的十六進制數運算。

例如:-h4538 5623

9B5B EF15

我命令

函數:從指定的端口輸入並顯示(十六進制)壹個字節。

例如:-i70

F9;端口70的內容是F9。

I命令可以從80X86的64K端口獲取數據。

l命令

功能:將文件或磁盤的絕對扇區加載到內存中。

註意:單個L命令最多可以加載80H個扇區,其中磁盤號為0,1,2,3...分別代表A、B、C、...出現磁盤讀取錯誤並顯示錯誤消息。

(1)格式1。l加載地址驅動器名起始扇區/扇區號。

這種方法可以將磁盤上指定扇區範圍的內容從指定地址開始加載到內存的區域中,扇區號指的是邏輯/扇區方法。

示例:-l100 01,在CS: 100上安裝驅動器A的扇區0。

-d 100 10f

08f 1:0100 EB 3C 90 3C 53 44 4F 53-36 2E 32 32 02 01 01 00l,MSDOS 6.22……

(2)格式2: L加載地址

這樣就可以將指定的文件加載到內存中,加載的文件可以在進入DEBUG時指定,也可以通過n命令建立,格式為-n文件名:

示例1調試tan.pas

-L 100

示例2調試

-北坦帕斯

-L 100

註意:l命令只能讀取邏輯扇區,不能讀取硬盤分區表。

l命令中使用的磁盤代碼A=00,B=01,C = 02...

m數據命令

功能:將地址範圍內存儲單元的內容移動到起始地址的指定地址。

註意:傳輸過程中,源區域和目標區域可以部分重疊;源區域數據在傳輸後保持不變。

示例:-e100 41 42 43 44 45

-d100 10f

08f 1:0100 41 42 43 44 45 62 62 63 64-61 62 63 64 61 62 63 63 64 abcdebcdabcdabcdabbcd

-M 100 104 110

-d110 L1F

ABCDE……

* N[磁盤號:][路徑][文件名][擴展名]

功能:定義操作文件名。

註意:可以同時定義兩個操作文件,並且可以在存儲器CS:5C和CS:6C中設置形成的文件控制塊,用於後續的L和W命令操作。在調試壹個正在運行的程序時,我們在開始調試後,添加該文件的程序名和程序或運行文件的參數,但在調試壹段時,可能會加載其他文件進行測試。這時,我們可以使用n命令來設置它,而不需要退出調試。

示例:a: \ >調試tan.exe

-妳好

當程序調試壹段時間後,如果要將tan.exe加載到tan1.pas,那麽-ntanl.pas

o輸出命令

功能:發送字節到指定的輸出端口。

例如:當我們在啟動電腦時被要求輸入密碼時,我們可以通過以下方式取消密碼。

-O 70 10

_O 71 00

p過程命令

功能:停止壹個子程序調用指令,循環指令,中斷指令或壹個重復的字符串指令的下壹條指令。

描述:在執行子程序調用指令、循環指令、中斷指令或重復的字符串指令時,發出P命令執行相關指令,返回下壹條要執行的指令。P命令和T命令壹樣,用來跟蹤程序的運行過程。我們可以在P命令中指定程序的起始地址和指令數。如果沒有指定,由CS: IP指定的程序地址將開始壹次運行壹個命令。

P命令和T命令的區別在於,P命令將CALL/INT作為指令執行,這簡化了跟蹤過程。P命令只運行RAM中的命令,而T命令可以運行RAM和ROM中的程序。

q退出命令

r寄存器命令

功能:1。顯示單個寄存器的內容,並提供修改功能。其次,顯示所有寄存器的內容,加上字母標誌位的狀態和下壹條要執行的指令。第三,顯示8個標誌位的狀態,並提供修改功能。如果妳不想改變,就進入。

示例:-r bx

bx 0050

:51

-r

AX = 0000 BX = 0051 CX = 0000 SP = FFEE BP = 0000 SI = 0000 DI = 0000

DS = 0003 ES = 0 cd3 SS = 0 cd3 IP = 0100 NV UP EI PL NZ NA PO NC

0cd 3:0100 DB OF

如果您想更改標誌寄存器並按下enter和-RF,調試將顯示標誌的內容。如果您想更改任何標誌,只需輸入標誌的名稱。

未設置標誌名稱設置。未設置標誌名稱設置。

出OV(溢出)NV(非溢出)零ZR NZ(不等於零)

方向DN(減少)向上(增加)輔助進位交流NA(無進位)

中斷EI(允許)DI(禁止)奇偶標誌PE(偶數)PO(奇數)

符號NG(負)PL(正)進位CY NC(清零進位)

示例:-射頻

Nv up ei plnz na ponc:-ovdi ←輸入值。

s命令

函數:在指定的地址範圍內查找給定的字符串。

描述:用於指定查找地址範圍內的字符串,如果找到則顯示其地址,否則直接顯示調試提示。隱式地址是DS段值。

這裏的內存可以用(起始地址)(結束地址)或者(起始地址)L(長度)來表示,而字符串和數據線可以混合使用:比如02.76BC。

例如:-d100 lof

08f 1:0100 2A 41 43 0B 31 42 96-FF F0 B9 8A F3 00 b 1..交流,1B...

-S 100洛法克

08F1:0102←表示找到了,從0102開始,

測試跟蹤命令

功能:逐個跟蹤程序的執行情況,每條指令執行完畢後會顯示每個寄存器的內容。

註意:通常跟蹤壹條指令,但用戶也可以設置指令的數量,以便壹次跟蹤多條指令。執行完每條指令後,所有寄存器的內容和標誌狀態都會顯示出來。

指令逐壹跟蹤-T[=起始地址]

從指定地址執行完壹條指令後停止,顯示所有寄存器的內容和標誌位的值。如果使用了指定的地址,將從當前的CS: IP開始執行。

答:\ & gt調試

[構成動植物的古名或拉丁化的現代名]

08f 1:0100 MOV DL 03H

MOV啊,02H

08f 1:0104 INT 21H

08F1:0106 INT 20H

08F1:0108

相當於-ED

AX = 0000 BX = 0000 CX = 0000 DX = 0000 SP = FFEE BP = 0000 SI = 0000 DI = 0000

DS = 08f 1 ES = 08f 1 SS = 08f 1 CS = 08f 1 1P = 0105 NV UP EI PL NZ poly

09f 102 B402 MOV啊,02

如果指定了起始地址,T命令將從指定的地址開始跟蹤。我們還可以指定壹次要跟蹤的指令數,用Ctrl+S暫停屏幕的顯示以便觀察。

-t = 100 10;從CS: 100追蹤10指令。

u地址命令

功能:將內存中的內容轉換成匯編語句。

註意:反匯編的字節數取決於用戶的系統顯示形式和u命令中使用的選項。

(1)從指定地址開始編譯,反匯編32字節。

-U[地址] ←從CS: 100開始,拆解成32個字節。

如果省略該地址,則從U命令的最後壹條指令的下壹個單元開始匯編32個字節。

(2)拆卸指定的存放範圍。

-u起始地址和結束地址(長度為l)

例如:-U 100 109

08F1:0100 CD20 INT 20

08F1:0102 FF9F009A呼叫FA12[BX+9A00]

08F1:0106 F0鎖

08f 1:0107 Fe 1D呼叫遠[DI]

08F1:0109 F0鎖

註意:如果指定了壹個範圍,整個範圍都將被反編譯。

寫磁盤命令

* W[地址][驅動器號:][起始扇區][扇區號]寫命令

功能:將修改後的數據寫入磁盤。

註意:可以從磁盤上指定的內存地址開始寫數據,也可以在不指定參數或不指定地址參數的情況下在磁盤上寫調試文件。

運行w時設置文件大小CX或BX寄存器

(1)將數據寫入磁盤的指定扇區。

-W起始地址驅動器名稱起始扇區扇區號

⑵將數據寫入指定文件。

-W起始地址

示例a: \ >調試

[構成動植物的古名或拉丁化的現代名]

08f1:0100....

。編寫程序段

08F1: 012A....

-R·CX

CX:0000

:2A←寫入的字節數,即程序的結束地址減去起始地址。

-n tan.com←以com為後綴設置文件名。

-w

擰002A字節

答:\ & gt譚←能執行這個程序。

* XD命令:釋放內存

示例:-XD 0001

句柄0001解除分配←已釋放。

XD發布後可以重新分發。

*XM命令;將擴展內存上的內存頁面區域映射到主內存區域。

格式:XM RAM長頁號主存頁號句柄

例:-XM3 2 0001←將句柄0001的3號邏輯頁區映射到2號真實頁區。

邏輯頁面03映射到物理頁面02

*XS命令:顯示當前EMS的使用情況。

格式-XS