Debug的使用 《組合語言》學習筆記

2021-06-09 04:43:58 字數 1114 閱讀 6842

說明:括號內的紅色為助記。

一、什麼是debug

debug是dos、windows提供的實模式(8086方式)程式的除錯工具。使用它,可以檢視cpu各種暫存器的內容、記憶體的情況和在機器碼級跟蹤程式的執行。

二、常用的debug功能

①用debug的 r命令(register) 檢視、改變cpu暫存器的內容;

②用debug的 d命令(dram) 檢視記憶體中的內容;

③用debug的 e命令(edit)改寫

記憶體中的內容;

④用debug的 u命令 將記憶體中的機器指令翻譯成彙編指令;

⑤用debug的 t命令 執行一條機器指令;

⑥用debug的 a命令 以彙編指令的格式在記憶體中寫入一條機器指令;

⑦用debug的g命令(go)執行到指定位址的指令處。

⑧用debug的 p命令 在遇到loop時使用可以執行到迴圈結束。

debug中的命令比較多,共有20多個,但這六個是和彙編學習密切相關的。

三、進入debug

debug是在dos下使用的程式。我們在進入debug前,應先進入dos。可使用以下方法進入:

①重新啟動計算機,進入dos模式,此時進入的是實模式的dos;

②在windows下進入dos模式,此時進入的是虛擬8086模式的dos。方法:開始->執行->cmd->debug。

進入debug後,會有'-'命令提示符,提醒使用者輸入命令。

四、常用命令實戰

4.1 使用命令檢視、改變cpu暫存器的內容

直接使用命令r(在命令提示符『-』後直接輸入,不區分大小寫),效果如下:

途中格式為:前兩行從ax、bx到ip為暫存器名稱和各自的值,第二行後面的nv、up等為標誌暫存器;第三行13b2:0100    0000    add [bx+si],al格式含義為:cs:ip     cs:ip所指的機器碼    對應的彙編指令;最後的ds:0000=cd咱不**。

疑問:cs:ip對應機器指令為0000,似乎不太正確?教材027548對應add dh,[di+48],希望以後能夠解決這個問題。

待續...

組合語言學習

參考書籍 組合語言 王爽 著 清華大學出版社 選單導航 一 彙編基礎知識 二 暫存器和常見彙編指令演示 一 基礎知識 1 彙編指令是機器指令的助記符,同機器指令一一對應 2 每一種cpu都有自己的彙編指令集 3 cpu可以直接使用的資訊在儲存器中存放 4 在儲存器中指令和資料沒有任何區別,都是二進位...

組合語言學習

持續更新 彙編指令 1.mov指令 mov是乙個傳送指令,可以實現以下操作 有一點需要注意,資料不能直接傳給段暫存器,比如mov ds,100h就是錯誤的。但是可以將其他暫存器中的值賦給段暫存器。段暫存器有cs,ds,ss,es等。如果你想知道為什麼,那就可以去了解一下關於每條指令的硬體實現。後面還...

組合語言學習筆記

學習參考資料 大灰狼 講彙編 資料匯流排,位址匯流排,控制匯流排。位址匯流排有多少條就決定了cpu最大的記憶體使用量。80386有32位位址匯流排,所以它的定址能力就是4g.暫存器 通用暫存器,段暫存器,ax暫存器 通用暫存器,存放資料。高位位元組ah,低位位元組al。實體地址表示方法 位址加法器,...