1. 程式人生 > >匯編第二章知識總結

匯編第二章知識總結

另一個 ron strong 聯系 知識 兩種 線性地址 內存 讀取

今天剛學完第二章,以下是一些學習到的內容。

首先是CPU的概述

1.一個典型CPU由運算器、控制器和寄存器等器件組成。

2.內部總線實現CPU內部各個部件之間的聯系。

3.外部總線實現CPU和主板上其他器件的聯系。

通用寄存器

1.8086CPU所用的寄存器都是16位的,可以存放2個字節。AX,BX,CX,DX這四個寄存器都唱用來存放一般性數據,被稱為通用寄存器

2.為了保證與上一代8位CPU兼容,8086CPU的AX、BX、CX、DX可分為兩個可獨立使用的8位寄存器。

AX可分為AH和AL BX可分為BH和BL CX可分為CH和CL DX可分為DH和DX

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

字節:內存劃分的基本單位

字:兩個字節,分別稱為高位字節,和低位字節。

雙字:四個字節

四字:八個字節

匯編指令

有的內存單元構成的空間是一個一維的線性地址,每一個內存單元在這個空間中都有唯一的地址,我們將這個唯一的地址稱為物理地址。CPU通過地址總線送入存儲器的,必須是一個內存單元的物理地址。

16位結構描述了一個描述了一個CPU具有以下幾方面的結構特性:

運算器一次最多可以處理16位的字節

寄存器的最大寬度為16位。

寄存器和運算器之間的通路為16位。

8086CPU給出物理地址的方位

8086CPU有20位地址總線,可以傳送20位地址,達到1MB尋址能力。8086CPU又是16位地址,表現出的尋址能力只有64KB。采用一種在內部用2個16位地址合成的方法來形成一個20位地址。

當8086CPU要讀寫內存時:地址加法器采用 物理地址=段地址 $\times$ 16+偏移地址 的方法合成物理地址。

CPU中的相關部件提供兩個16位地址,一個稱為段地址,另一個稱為偏移地址。

地址和偏移地址通過內部總線送入一個稱為地址加法器的部件。

地址加法器將兩個16位地址合成為一個20位的物理地址。

地址加法器通過內部總線將20位物理地址送入輸入輸出控制電路。

輸入輸出控制電路將20位物理地址送上地址總線。20位物理地址北地址總線傳送到存儲器。


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

段地址:偏移地址 也稱為 邏輯地址 。

段地址 $\times$ 16構成短的起始物理地址。


段寄存器

8086CPU有4個段寄存器中:CS,DS,SS,ES。

CS和IP

CS和IP是8086CPU中最關鍵的寄存器。

CS為代碼段寄存器,用於存放代碼段的段地址。

IP為指令指針寄存器,用於存放CPU將要讀取的指令在代碼段中的偏移地址。

CS:IP對應的物理地址存放是CPU將要讀取的指令。

匯編第二章知識總結