匯編語言Debug命令詳解教程
參考書籍《匯編語言》——王爽
Debug的命令比較多,這里我介紹常用的命令,其余的等需要的時(shí)候再進(jìn)行查詢。
命令 | 用途 |
---|---|
Debug-R | 查看、改變CPU寄存器的內(nèi)容 |
Debug-D | 查看內(nèi)存中的內(nèi)容 |
Debug-E | 改寫內(nèi)存中的內(nèi)容 |
Debug-U | 將內(nèi)存中的機(jī)器指令翻譯成匯編指令 |
Debug-T | 執(zhí)行一條機(jī)器指令 |
Debug-A | 以匯編指令的格式在內(nèi)存中寫入一條機(jī)器指令 |
… | … |
Debug的由來?
主人公:Grace.Hoper(格雷斯.霍普)
1937年,美國青年霍德華.艾肯找到IBM公司為其投資200萬美圓研制計(jì)算機(jī),第一臺(tái)成品艾肯把它取名為:馬克1號,又叫“自動(dòng)序列受控計(jì)算機(jī)”,從這時(shí)起IBM公司由生產(chǎn)制表機(jī),肉鋪磅秤,咖啡研磨機(jī)等亂七八糟玩意兒的行業(yè),正式跨進(jìn)“計(jì)算機(jī)”領(lǐng)地。
為馬克1號編制程序的是一位女?dāng)?shù)學(xué)家雷斯.霍波,有一天,她在調(diào)試程序時(shí)出現(xiàn)故障,拆開繼電器后,發(fā)現(xiàn)有只飛蛾被夾扁在觸點(diǎn)中間,從而“卡”住了機(jī)器的運(yùn)行。于是,霍波詼諧的把程序故障統(tǒng)稱為“臭蟲(BUG)”,把排除程序故障叫DEBUG,而這奇怪的”稱呼“,竟成為后來計(jì)算機(jī)領(lǐng)域的專業(yè)行話。如DOS系統(tǒng)中的調(diào)試程序,程序名稱就叫DEBUG.
實(shí)例講解:
1. Debug-R命令
話不多說,直接上圖
1. 查看寄存器中的內(nèi)容
2. 改變寄存器中的內(nèi)容
2. Debug-D命令
1. 查看內(nèi)存中的內(nèi)容,如果沒有明確指出查看多少內(nèi)存單元?jiǎng)t默認(rèn)為128字節(jié)存儲(chǔ)單元。
2.給出具體的查看范圍,這里我要查看內(nèi)存單元是2000:1000~2000:1009這10個(gè)存儲(chǔ)單元。
3.查看某一個(gè)具體的存儲(chǔ)單元,情況類似,例如我查看2000:1024指向的存儲(chǔ)單元中的內(nèi)容。
3. Debug-E命令
1. 連續(xù)改寫內(nèi)存中的內(nèi)容,比如我要改寫從2000:1000指向內(nèi)存單元開始連續(xù)的6個(gè)字節(jié)。用E命令修改后,再用D指令顯示內(nèi)存單元中的數(shù)據(jù)。
2. 逐個(gè)改寫內(nèi)存中的內(nèi)容,比如我要改寫從2000:1000指向內(nèi)存單元開始連續(xù)的6個(gè)字節(jié)。
?。?)輸入E 2000:1000 Enter鍵結(jié)束
?。?)光標(biāo)停在“.”后面,“.”前面是以前內(nèi)存單元中的數(shù)據(jù),后面是要修改的值,輸入值后點(diǎn)擊空格鍵,跳到下一個(gè)內(nèi)存單元進(jìn)行修改,如果不輸入直接點(diǎn)擊空格鍵則表示不對當(dāng)前內(nèi)存單元進(jìn)行修改(圖中我并沒有對2000:1001指向的內(nèi)存單元進(jìn)行修改)。
?。?)所有內(nèi)存單元的值均修改完畢后,點(diǎn)擊Enter鍵退出E命令。
流程圖展示步驟:
最終結(jié)果:
3.E命令向指定的內(nèi)存單元中寫入字符、字符串。D命令顯示內(nèi)存單元中的數(shù)據(jù),顯示的是其對應(yīng)的ASCII碼。
4.E命令向內(nèi)存中寫入機(jī)器碼,后面介紹U命令時(shí),再用其查看機(jī)器碼的含義。
機(jī)器碼 對應(yīng)的匯編指令
B80100 MOV AX,0001
B90200 MOV CX,0002
01C8 ADD AX,CX
4. Debug-U命令
1. 將內(nèi)存中的機(jī)器指令翻譯成匯編指令。用上面的例子進(jìn)行說明:
5. Debug-T命令
1. 執(zhí)行一條機(jī)器指令。對上面給出的機(jī)器指令進(jìn)行執(zhí)行,結(jié)果如下:
6. Debug-A命令
1. 命令以匯編指令的格式在內(nèi)存中寫入一條機(jī)器指令。用D命令顯示,U命令將將內(nèi)存中的機(jī)器指令翻譯成匯編指令。
至此收官
另附:
1. 關(guān)于Windows 64 位系統(tǒng)下如何安裝配置 DosBox 及 debug.exe。請參考以下文章:
匯編語言DOSBox及debug.exe在Windows64下環(huán)境搭建
2. 王爽的《匯編語言》
3. Debug命令大全
4. 僅用于學(xué)習(xí)交流,如有侵權(quán)請告知,后會(huì)刪除。
以上就是匯編語言Debug命令詳解教程的詳細(xì)內(nèi)容,更多關(guān)于匯編語言Debug命令的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
UEFI開發(fā)實(shí)戰(zhàn)用戶交互界面基礎(chǔ)說明
這篇文章主要為大家介紹了UEFI開發(fā)實(shí)戰(zhàn)用戶交互界面的基礎(chǔ)說明,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06