彙編必知小知識點及常用debug命令
訪問暫存器和記憶體
暫存器和資料儲存:
暫存器是CPU內部資訊儲存單元
暫存器種類:
- 通用暫存器:AX,BX,CX,DX
- 變址暫存器:SI,DI
- 指標暫存器:SP,BP
- 指令指標暫存器:IP
- 段暫存器:CS,SS,DS,ES
- 標誌暫存器:PSW
8086是16位暫存器,8088是8位暫存器
8086暫存器可以將暫存器分為:AH(高8位),AL(低八位)
MOV和ADD指令:
MOV是將資料送到暫存器中
add是將暫存器數值加
確定實體地址的方法:
實體地址:
-
CPU訪問記憶體單元是要給記憶體單元的地址
-
所有記憶體單元構成儲存空間是一個一維線性空間
-
每一個記憶體單元在這控制元件中都有一個唯一地址,這個地址被稱為實體地址
事實上:
-
8086有20為地址匯流排,可傳送20位地址,定址能力為1MB
-
8086是一個傳統的16位結構CPU、
- 運算器一次最多處理16位資料,暫存器最大寬度為16位
- 在8086內部處理,傳輸,暫存地址也是16位
-
使用16為地址段地址,偏移地址合成一個實體地址
- 實體地址=段地址×16+偏移地址
記憶體的分段表示方法
起始段地址必為16位
偏移地址16位,16位定址能力為64K,一個段最大長度為64K
用不同段地址(segment)和偏移地址形成一個實體地址
debug
可以做什麼:
DOS系統中著名除錯程式,也可以執行Windows系統實系統
使用debug程式,可以檢視CPU各種暫存器內容,記憶體儲器情況,並且在機器指令級跟蹤程式執行
debug就是傳奇
debug常見命令:
- R命令:檢視,改變CPU暫存器內容
- D命令:檢視記憶體內容
- E命令: 改變記憶體中內容
- U命令:將記憶體中機器指令翻譯成彙編指令
- A命令:以彙編指令格式在記憶體中寫入機器指令
- F命令:執行機器指令
- 。。。
相關文章
- 前端小知識點彙總前端
- iOS 知識-常用小技巧彙總iOS
- asp.net 常用知識點彙總整理ASP.NET
- JAVA高階面試必過知識點彙總Java面試
- 面試必知的web知識點面試Web
- pcl常用小知識
- 藍橋杯知識點彙總:基礎知識和常用演算法演算法
- js知識點彙總JS
- SVM知識點彙總
- JavaScript知識點彙總JavaScript
- java知識點彙總Java
- webpack常用知識點Web
- SVN - 常用知識點
- css必備知識點CSS
- 必備知識點 路由路由
- 必備知識點 模版
- Java 基礎知識點(必知必會其一)Java
- rman配置及常用操作相關知識點
- java小知識點Java
- js小知識點JS
- 小知識點1
- 前端小知識點前端
- mongo 小知識點Go
- javascript小知識點JavaScript
- PHP小知識點PHP
- ES6 常用知識彙總
- MySQL MVCC知識點彙總MySqlMVC
- 初識python必知的6個知識點Python
- C++必知的幾個知識點C++
- Flow 常用知識點整理
- vue常用的知識點Vue
- Angular常用知識點梳理Angular
- 前端進階必備知識彙總前端
- Web前端必備-Nginx知識彙總Web前端Nginx
- c語言常用小知識點總結1C語言
- Silverlight 常用小知識點總結
- Redis 面試必備知識點Redis面試
- 前端必備知識點—SVG前端SVG