1. 程式人生 > >dos環境下用debug工具檢視修改暫存器/記憶體資訊

dos環境下用debug工具檢視修改暫存器/記憶體資訊

一、暫存器按照功能可以分為哪四類?分別承擔什麼責任?
二、記憶體:實體地址和邏輯地址。記憶體的邏輯分段有哪些?
三、debug工具功能以及使用?
1.學習彙編以16位的8086處理器為基礎會更容易掌握
2.一些表示資料大小的單位:位元組;字(word):16位;雙字(double word)32位
3.8086暫存器根據用途可以分為四類:資料/地址/段/控制暫存器
3.1資料暫存器
功能:儲存要被計算的資料
識別符號:ax,bx, cx, dx.其中每個暫存器又可以分為如AH和AL一個高八位和一個低八位的暫存器。為什麼要這樣分?如AX=1234H。其實是高位元組12放在AH,低位元組34放在了AL。
3.2 地址暫存器
功能:存放儲存器運算元的地址;也可以當做通用暫存器來使用
識別符號:地址暫存器包括指標(基址)和變址暫存器SP、BP、SI、DI四個16位暫存器。基址暫存器和變址暫存器的合作可以使記憶體實現類似於陣列索引的功能
3.3 段暫存器()
功能:
分類和標誌符:8086有四個16位的段暫存器,分別是CS程式碼段暫存器、DS資料段寄存、ES附加段暫存器、SS堆疊段暫存器
3.4 控制暫存器
功能:用於控制程式的執行
分類及標誌符:包括IP程式計數器和FLAGS標誌暫存器中某位代表CPU的某種執行狀態
狀態的標誌位:NV、UP、DI、PL、NZ、NA、PO、NC、
4.記憶體
4.1 實體地址和邏輯地址的換算:實體地址=段地址×10H + 偏移地址
4.2 儲存器邏輯分段型別:
a.程式碼段——用於存放指令,其地址存放在程式碼段暫存器CS中;
b.資料段——用於存放資料,其地址存放在資料段暫存器DS中;
c.附加段——用於存放輔助資料,其地址存放在附加段暫存器ES中;
d.堆疊段——是重要的資料結構,可以用來儲存資料、地址和系統引數,段地址存放在堆疊暫存器SS中。
4.3 儲存單元的地址和內容的表示形式;(3076AH)= 12H. 表示地址編號為3076AH的儲存單元中存放的內容是12H。

5.除錯工具debug
功能:觀察機器及其內部的CPU暫存器情況,看到具體的暫存器、標誌、儲存單元的內容,修改控制它們?
debug主要命令:
R——檢視和修改暫存器的值
D——檢視記憶體單元
E——修改記憶體單元
U——反彙編,將機器指令變為彙編指令
T/P——單步執行
G——連續執行程式
A——輸入彙編指令
Q——退出