彙編必知小知識點及常用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命令:執行機器指令
- 。。。
相關文章
- 前端小知識點彙總前端
- 藍橋杯知識點彙總:基礎知識和常用演算法演算法
- pcl常用小知識
- JavaScript知識點彙總JavaScript
- js知識點彙總JS
- SVM知識點彙總
- JAVA高階面試必過知識點彙總Java面試
- webpack常用知識點Web
- SVN - 常用知識點
- 面試必知的web知識點面試Web
- 初識python必知的6個知識點Python
- css必備知識點CSS
- 必備知識點 模版
- 必備知識點 路由路由
- ES6 常用知識彙總
- MySQL MVCC知識點彙總MySqlMVC
- js小知識點JS
- mongo 小知識點Go
- 前端小知識點前端
- java小知識點Java
- 小知識點1
- vue常用的知識點Vue
- Flow 常用知識點整理
- Web前端必備-Nginx知識彙總Web前端Nginx
- 前端進階必備知識彙總前端
- linux高可用小知識點彙總-行雲管家Linux
- c語言常用小知識點總結1C語言
- 前端必備知識點—SVG前端SVG
- 必備知識點 檢視
- 浮點數小知識點
- Python入門知識點彙總Python
- C++知識點大彙總C++
- 精選Spring Boot三十五道必知必會知識點!Spring Boot
- Koa 框架常用知識點整理框架
- docker常用知識點總結Docker
- mysql 常用知識點總結MySql
- RabbitMQ 常用知識點總結MQ
- 【JAVA】- 知識點小結Java