官术网_书友最值得收藏!

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程序

主站蜘蛛池模板: 尚义县| 尼勒克县| 中山市| 若羌县| 莎车县| 镇巴县| 广州市| 林口县| 和田市| 马鞍山市| 台安县| 玛多县| 永新县| 巴中市| 南城县| 万荣县| 澳门| 靖州| 凌云县| 白城市| 抚宁县| 保康县| 岐山县| 临洮县| 龙胜| 商南县| 新巴尔虎右旗| 久治县| 寿宁县| 奈曼旗| 兰溪市| 乐山市| 沙坪坝区| 财经| 峨边| 建始县| 吴川市| 吐鲁番市| 花莲县| 合水县| 雅安市|