第二章 寄存器
CPU中的主要部件是寄存器。寄存器是CPU中程序員可以用指令讀寫的部件。程序員通過改變各種寄存器中的內容來實現對CPU的控制。寄存器包括:AX、BX、CX、DX、SI、DI、SI、DI、SP、BP、IP、CS、SS、DS、ES、PSW。
2.1 通用寄存器
8086CPU的所有寄存器都是16位的,可以存放兩個字節。AX,BX,CX,DX這4個寄存器通常用來存放一般性的數據,被稱為通用寄存器。
8086CPU的AX,BX,CX,DX這四個寄存器都可分為兩個可獨立使用的8位寄存器使用:
2.2 字在寄存器中的存儲
字節:記為byte,一個字節由8個bit組成,可以存在8位寄存器中。
字:記為word,一個字由兩個字節組成,這兩個字節分別稱為這個字的高位字節和低位字節。
tips:在十六進制表示的數據后面加H,在二進制表示的數據后面加B,十進制表示的數據后面什么也不加。
2.3 幾條匯編指令
為了使具有高級語言基礎的讀者更好地理解指令的含義,有時會用文字描述和高級語言描述這兩種方式來描述一條匯編指令的含義。
在進行數據傳送或運算時,要注意指令的兩個操作對象的位數應該是一致的。
2.4 物理地址
CPU通過地址總線送入存儲器的,必須是一個內存單元的物理地址。在CPU向地址總線上發出物理地址之前,必須要在內部先形成這個物理地址。
2.5 16位結構的CPU
16位結構的CPU的結構特性:
1. 運算器一次最多可以處理16位的數據
2.寄存器的最大寬度為16位
3. 寄存器和運算器之間的通路為16位。
2.6 8086CPU給出物理地址的方法
8086CPU有20位地址總線,可以傳送20位數據。
8086CPU采用一種在內部用兩個16位地址合成的方法來形成一個20位的物理地址。
地址加法器采用物理地址=段地址*16+偏移地址的方法用段地址和偏移地址合成物理地址。
2.7 段地址*16+偏移地址=物理地址 的本質含義
本質含義:CPU在訪問內存時,用一個基礎地址(段地址*16)和一個相對于基礎地址的偏移地址相加,給出內存單元的物理地址。
2.8 段的概念
內存并沒有分段,段的劃分來自于CPU,將若干地址連續的內存單元看作一個段,用段地址*16定位段的起始地址(基礎地址)。
2.9 段寄存器
4個段寄存器:CS,DS,SS,ES。
2.10 CS和IP
CS和IP是8086CPU中兩個最關鍵的寄存器。CS為代碼段寄存器,IP為指令指針寄存器。
2.11 修改CS、IP的指令
jmp指令
mov指令不能用于設置CS、IP的值。jmp 段地址:偏移地址 指令的功能為:用指令中給出的段地址修改CS,偏移地址修改IP。
?
轉載于:https://www.cnblogs.com/lx913/p/9794410.html
總結
- 上一篇: MES系统是什么——史上最全MES介绍
- 下一篇: android studio计步,基于安