Hb I 檢視CPU和記憶體 用彙編指令程式設計

2021-06-27 02:35:26 字數 1852 閱讀 3968

《組合語言·第三版》--王爽

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

用到的debug引數:

安裝dosbox後開啟dosbox,將debug.exe拷貝到f盤(某盤根目錄),在dosbox中輸入「mount c f:\」命令(此命令輸入後有「drive c is mounted as local directory f:\」,再輸入「c:」回車。然後就可以去實現《組合語言·第三版》—王爽p.45的實驗任務了。

figure1. debug r命令檢視cpu內各暫存器的值

cs:ip當前指向的記憶體位址為(073f0 +0100),此位址裡面的二進位制內容翻譯成彙編語句為add [bx+si], al。

向記憶體位址cs:ip = 073f:0000寫入以下框內的彙編指令,並執行它們,觀察cpu各暫存器值的變化。

figure2. 用debug a命令向指定記憶體寫入彙編指令

記憶體073f:0000 – 073f:001f段內儲存了這些彙編指令。

cs:ip內的內容代表即將訪問的記憶體位址。要求將這段指令寫入起始位址為cs:ip = 073f:0000的段內,那麼只需要修改ip的值即可:

figure3. 修改ip的值

在[2]後,cs:ip指向記憶體073f:0000即剛輸入彙編指令的首位址。

figure4. 用debug t命令執行彙編指令

pc機主板上的rom中寫有乙個生產日期,在記憶體fff00h ~ fffffh的某幾個單元中,請找到這個生產日期並試圖改變它。

figure5. 修改rom內容

用debug e命令修改fff0:0050內容無效,因為這個位址表示rom的位址,是唯讀的。

figure6. 向b8100記憶體位址寫入資料

b810:0000位址屬視訊記憶體部分,當向這個記憶體中寫入資料時會顯示到螢幕上來。

[2014.11.18 - 19:52]

r《hb》note over.

實驗1 檢視CPU和記憶體,用機器指令和彙編指令程式設計

實驗任務 1 使用debug,用e命令和a命令以兩種方式將指令寫入記憶體 機器碼 彙編指令 b8 20 4e mov ax,4e20h 05 16 14 add ax,1416h bb 00 20 mov bx,2000h 01 d8 add ax,bx 89 c3 mov bx,ax 01 d8 ...

實驗一 檢視CPU和記憶體,用機器指令和彙編指令程式設計

一 準備工作 1 實驗準備 二 實驗任務 1 使用debug,將下面程式段寫入記憶體,逐條執行,觀察每條指令執行後cpu中相關暫存器中內容的變化。1 用e命令輸入 2 使用a命令輸入 3 使用t命令執行 2 將下面3條指令寫入2000 0開始的記憶體單元中,利用這3條指令計算2和8的次方。1 用a命...

linux檢視cpu和記憶體

1.檢視cpu資訊 總核數 物理pu個數 x 每顆物理cpu的核數 總邏輯cpu數 物理cpu個數 x 每顆物理cpu的核數 x 超執行緒數 2.檢視物理cpu個數 cat proc cpuinfo grep physical id sort uniq wc l 3.檢視每個物理cpu中core的個...