彙編語言(王爽)--第二章 寄存器

CPU的工作介紹

一個典型的CPU由運算器、控制器、寄存器等器件構成,這些器件靠內部總線相連。
內部總線實現CPU與內部各器件之間的聯繫,外部總線實現CPU和主板上其他器件的聯繫。
在CPU中:
1.運算器進行信息處理
2.寄存器進行信息存儲
3.控制器控制各種器件進行工作
4.內部總線連接各種器件,在它們之間進行數據的傳送。

2.1 通用寄存器

8086所有寄存器都是16位的,可以存放兩個字節。AX、BX、CX、DX這4個寄存器通常用來存放一般性數據,被稱爲通用寄存器。爲了兼容之前的8位寄存器,這些通用寄存器都可以分爲兩個獨立的8位寄存器使用。

2.2 字在寄存器中的存儲

出於對兼容性的考慮,8086可以一次性處理以下兩種尺寸的數據,字節和字。

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位的物理地址。
當CPU要讀寫內存時的過程:
1.CPU中相關部件提供兩個16位的地址,段地址和偏移地址。
2.段地址和偏移地址通過內部總線送入地址加法器。
3.地址加法器將兩個16位地址合成20位物理地址 物理地址=段地址x16+偏移地址
4.地址加法器通過內部總線將20位物理地址送入輸入輸出控制電路。
5.輸入輸出控制電路將20位物理地址送上地址總線。
6.20位物理地址被地址總線傳送到存儲器。

2.7 段地址x16+偏移地址=物理地址 的本質含義

2.8 段的概念

1.CPU可以通過不同的段地址和偏移地址形成同一個內存地址。
2.只使用偏移地址進行尋址最多可尋64KB個內存單元。

2.9 段寄存器

段寄存器有:CS 、DS 、SS、ES。

2.10 CS和IP

CS、IP是8086CPU中最爲關鍵的寄存器,它們指示了CPU當前要讀取的指令地址。CS爲代碼段寄存器,IP爲指令指針寄存器。
CPU的工作流程:
1.從CS:IP所指向的內存讀取數據到指令緩衝器。
2.IP=IP+所讀取指令的長度,從而指向下一條指令。
3.執行指令,轉到步驟1,重複過程。

2.11 修改CS、IP指令

mov指令不能用於設置CS、IP的值,mov指令被稱爲傳送指令,能改變CS、IP的指令被稱爲轉移指令。
同時修改CS、IP:jmp 段地址:偏移地址
僅修改IP內容:jmp 某一寄存器

2.12 代碼段

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章