8086暫存器結構

2021-08-10 06:55:20 字數 2712 閱讀 2160

知道有點老,但對電腦的的學習有好處,可以看看。

8086暫存器和標誌位如下:

通用暫存器

|    高8位   |   低8位    |  暫存器為16位,可按位元組(8位)操作  

7          0 7          0

ax |     ah     |     al     |  累加器

bx |     bh     |     bl     |  基址暫存器

cx |     ch     |     cl     |  計數暫存器

dx |     dh     |     dl     |  資料暫存器

段暫存器

15       16位           0

cs |                         |  **段暫存器

ds |                         |  資料段暫存器

ss |                         |  堆疊段暫存器

es |                         |  附加段暫存器

指標和變址暫存器

15       16位           0

sp |                         |  堆疊指標

bp |                         |  基址指標

si |                         |  源變址暫存器

di |                         |  目的變址暫存器

指令指標和標誌位

15    11     8 7             0 

ip |                              |  指令指標

f  |      |o|d|i|t|s|z| |a| |p| |c|  標誌位

1.通用暫存器

8086有四個通暫存器,ax,bx,cx,dx。他們可以作為乙個16位暫存器用,也可以作為兩個8位暫存器用,當作為8位暫存器用時低8位和高8位為別有自己的名稱:(低8位)al,bl,cl,dl和(高8位)ah,bh,ch,dh。

通常,通用暫存器的內容既可以作為算術邏輯運算的源運算元,也可用作它們的目的運算元。但有些指令規定了某個通用暫存器的專門用法。如,串操作指令將cx暫存器用作計數器,記錄字串的字數目,而ax,bx和dx暫存器都不用於這個目的。cx的這種特殊用途使得它被命名為計數暫存器,而ax,bx和dx暫存器又可以分別稱為累加器,基址和資料暫存器,下面列出了8086通用暫存器的特殊用法。

ax:字乘法、字除法、字i/o

al:位元組乘法、位元組除法、位元組i/o

ah:位元組乘法、位元組除法

bx:轉換

cx:串操作、迴圈

cl:可變移位和迴圈移位

dx:字乘法、字除法、間接定址i/o

sp:堆疊操作

si:串操作

di:串操作

2.指標和變址暫存器

8086由sp,bp,si和di組成,都為16為暫存器。這組暫存器通常存放的內容是在某個段的偏移位址。

3.段暫存器

含意             隱含識別的現行段

cs:**段暫存器           現行**段

is:資料段暫存器           現行資料段

ss:堆疊段暫存器           現行堆疊段

es:附加段暫存器           現行附加段

偏移量是由乙個指標暫存器的內容計算得來的,在這種情況下,使用現行堆疊段;

運算元是一條串操作指令的目的運算元,在這種情況下,則使用現行附加段。

4.指令指標

16位的指令指標(ip),它由8086的匯流排介面部件biu修改,以至它總是包含下一條要取的指令在現行**段中的偏移量,即ip總是指向下一條待取的指令。在程式順序執行期間,ip包含由biu將要取的指令的偏移量,但每當將ip壓入堆疊儲存時,8086首先自動調整ip內容,以使壓入堆疊的ip的內容是下一條將要執行的指令位址的偏移量。程式不能直接訪問ip,但指令能夠引起它的內容的改變以及把它的內容壓入堆疊或從堆疊中恢復。

5.標誌暫存器

8086有9個標誌位,用來記錄微處理器執行狀態資訊(狀態村志),或者控制微處理器操作(控制標誌)。狀態標誌通常是在算術或邏輯運算指令執行之後設定。

狀態標誌是:

進製標誌位(cf):指出該指令是否在最高信產生乙個過們或借位。

輔助進們標誌位(af):反映上次運算是否在低4位產生了乙個進製或借位。

溢位標誌位(of):表示指令的執行是否產生乙個超出範圍的帶符號的結果。

零標誌位(zf):反映指令的執行是否產生乙個零的結果。

符號標誌位(sf):指出該指令的執行是否產生乙個負的結果。

奇偶標誌位(pf):表示指令運算結果的低8位「1」的個數是否為偶數。

控制標誌是:

方向標誌位(df):控制串操作對字串操作方向。

中斷標誌位(tf):表示cpu是否能夠響應外部可遮蔽中斷請求。

跟蹤標誌(tf):為方便程式的除錯,使處理器的執行進入單步方式而設定的控制標誌位。

下面給出了這些標誌位暫存器。

標誌暫存器

15  14  13  12   11   10   9     8   7     6   5   4    3     2   1    0

|   |   |   |    | of | df | if | tf | sf | zf |   | af |    | pf |   | cf |  

8086暫存器介紹

8086 有14個16位暫存器,這14個暫存器按其用途可分為 1 通用暫存器 2 指令指標 3 標誌暫存器和 4 段暫存器等4類。1 通用暫存器有8個,又可以分成2組,一組是資料暫存器 4個 另一組是指標暫存器及變址暫存器 4個 資料暫存器分為 ah al ax accumulator 累加暫存器,...

彙編暫存器 8086

一 組合語言中,為什麼si和di不能同時使用彙編 其實你可以想一下,這兩個暫存器的意思,si源變址暫存器,di目地變址暫存器,既然是變址暫存器,那麼他們肯定是在某個位址的基礎上進行偏移變化,由此我們就得出了需要基址暫存器。你要是把這兩個暫存器同時使用,那你位址變化的基址都沒有,你該怎麼變化呢?你在誰...

8086暫存器組

學習源於 ibm pc 組合語言程式設計 傳說中的cpu有很多組成部分 其中一部分叫作暫存器 cpu裡面有很暫存器 暫存器作用是什麼?顧名思義,就是寄與存資料啦 它的訪問速度比在儲存器快很多 組合語言需要用到暫存器,有一部分暫存器用到,有一部分用不到 因此分為程式可見暫存器,程式不可見暫存器 程式可...