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