- 微機(jī)原理與接口實(shí)驗(yàn)指導(dǎo)
- 蔣富
- 764字
- 2019-10-28 14:31:38
1.2 DEBUG的主要命令使用
DEBUG主要命令介紹如下:
(1)在圖1-3的基礎(chǔ)上,即在DEBUG提示符后輸入字母“-a100”,按【Enter】鍵就會(huì)出現(xiàn)如圖1-4所示的內(nèi)容。

圖1-4 輸入“-a100”命令后的結(jié)果
-a100
13C2:0100
其中,13C2:0100表示此時(shí)代碼段的段地址為13C2,偏移地址為0100,不同的計(jì)算機(jī)所產(chǎn)生的段地址可能有所不同。
這表示在地址13C2:0100處,DEBUG等待用戶輸入程序助記符,下面輸入程序:

(2)在DEBUG的提示符后輸入g,這是執(zhí)行程序的命令,然后按[Enter]鍵,就可以看到如圖1-5所示的結(jié)果。


圖1-5 輸入命令g后的執(zhí)行結(jié)果
(3)用“d”命令查看內(nèi)存單元當(dāng)前段中0100H~010fH的內(nèi)容,如圖1-6所示。
-d100,10f
13C2:0100 B2 01 B4 02 CD 21 CD 20- 00 00 00 00 00 00 00 00 ……!………
在0100H~0107H這8個(gè)單元內(nèi),為上述4條指令的機(jī)器碼。例如,B201為movdl,1指令的機(jī)器碼。右邊的區(qū)域是組成程序的ASCII碼等價(jià)字符,圓點(diǎn)表示不可顯示字符。
(4)下面用反匯編命令來查看一下所輸入的程序。“u”命令的格式是“u起始地址,終止地址”,即把起始地址到終止地址之間的十六進(jìn)制碼反匯編成匯編語言助記符語句。輸入:

執(zhí)行“u”命令后的結(jié)果如圖1-7所示。

圖1-6 執(zhí)行d命令

圖1-7 執(zhí)行“u”命令后的結(jié)果
此時(shí),不僅可看到地址和助記符,還可以看到與匯編語言等價(jià)的機(jī)器語言。
(5)現(xiàn)在修改存儲(chǔ)單元0101H的內(nèi)容,查看顯示情況有何變化,如圖1-8所示。


圖1-8 查看存儲(chǔ)單元內(nèi)容
執(zhí)行程序后顯示的結(jié)果發(fā)生了變化,這是因?yàn)镈OS的2號(hào)功能(顯示輸出)調(diào)用是在屏幕上顯示dl中保存的ASCII碼所對(duì)應(yīng)的字符,這部分內(nèi)容請(qǐng)參看配套主教材附錄B。
(6)將程序命名為abc.com,并存盤。在debug的n命令后緊接著輸入文件名及擴(kuò)展名,如圖1-9所示。

因?yàn)槲募淖止?jié)數(shù)必須事先放在BX和CX中,其中BX保存高16位,CX保存低16位,整個(gè)32位保存文件的字節(jié)數(shù)。一般來說,BX設(shè)置為0,因?yàn)镃X可存放的字節(jié)數(shù)為64KB,對(duì)于一般的程序已足夠。

圖1-9 保存文件
(7)用q命令退出DEBUG程序,如圖1-10所示。

圖1-10 退出DEBUG程序
- 高手是如何做產(chǎn)品設(shè)計(jì)的(全2冊(cè))
- Java多線程編程實(shí)戰(zhàn)指南:設(shè)計(jì)模式篇(第2版)
- Oracle 11g從入門到精通(第2版) (軟件開發(fā)視頻大講堂)
- OpenCV 3和Qt5計(jì)算機(jī)視覺應(yīng)用開發(fā)
- Java深入解析:透析Java本質(zhì)的36個(gè)話題
- Java EE 7 Performance Tuning and Optimization
- Mastering Xamarin.Forms(Second Edition)
- RESTful Java Web Services(Second Edition)
- Everyday Data Structures
- jQuery技術(shù)內(nèi)幕:深入解析jQuery架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)原理
- UI動(dòng)效設(shè)計(jì)從入門到精通
- Android技術(shù)內(nèi)幕(系統(tǒng)卷)
- Splunk Essentials
- Linux Networking Cookbook
- 嵌入式Linux與物聯(lián)網(wǎng)軟件開發(fā):C語言內(nèi)核深度解析