組合語言 通用暫存器

2021-06-04 18:08:40 字數 1592 閱讀 1544

通用暫存器的主要用途

暫存器的分類

暫存器主 要 用 途

通 用暫存器

資料 暫存器

ax乘、除運算,字的輸入輸出,中間結果的快取

al位元組的乘、除運算,位元組的輸入輸出,十進位制算術運算

ah位元組的乘、除運算,存放中斷的功能號

bx儲存器指標

cx串操作、迴圈控制的計數器

cl移位操作的計數器

dx字的乘、除運算,間接的輸入輸出

變址暫存器

si儲存器指標、串指令中的源運算元指標

di儲存器指標、串指令中的目的運算元指標

變址暫存器

bp儲存器指標、訪問堆疊的指標

sp堆疊的棧頂指標

指令指標

ip/eip

標誌位暫存器

flag/eflag

32位 cpu的

段暫存器

16位cpu的 段暫存器

es附加段暫存器

cs**段暫存器

ss堆疊段暫存器

ds資料段暫存器

新增加的

段暫存器

fs附加段暫存器

gs附加段暫存器

這張表用來參照。

(1)在8086cpu中只有這四個暫存器可以在[...]中進行記憶體單元的定址。

比如,下面的指令都是正確的:

mov ax,[bx]

mov ax,[bx+si]

mov ax,[bx+di]

mov ax,[bp]

mov ax,[bp+si]

mov ax,[bp+di]

而下面都是錯誤的:

mov ax,[cx]

mov ax,[ax]

mov ax,[dx]

mov ax,[ds]

(2).在[...]中,這四個暫存器可以單獨出現,或者只能以四種組合出現:bx和si、bx和di、bp和si、bp和di。

比如下面都是正確的

mov ax,[bx]

mov ax,[si]

mov ax,[di]

mov ax,[bp]

mov ax,[bx+si]

mov ax,[bx+di]

mov ax,[bp+si]

mpv ax,[bp+di]

mov ax,[bx+si+idata]

mov ax,[bx+si+idata]

mov ax,[bp+si+idata]

mov ax,[bp+di+idata]

下面就是錯誤的

mov ax,[bx+bp]

mov ax,[si+di]

(3)只要在[....]中使用暫存器bp,而指令彙總沒有顯示給出段位址,段位址就預設在ss中。 比如下面的指令。

mov ax,[bp] 含義:(ax)=((ss)*16+(bp))

mov ax,[bp+idata] 含義:(ax)=((ss)*16+(bp)+idata)

mov ax,[bp+si] 含義:(ax)=((ss)*16+(bp)+(si))

mov ax,[bp+si+idata] 含義:(ax)=((ss)*16+(bp)+(si)+idata)

組合語言 暫存器

乙個典型的cpu由運算器 控制器 暫存器等器件組成,這些器件靠內部匯流排相連。通用暫存器 ax bx cx dx 段位址暫存器 cs ds es ss 專用暫存器 bp sp si di 指令指標暫存器 ip 標誌暫存器 psw ah al ax accumulator 累加暫存器 bh bl bx...

組合語言 暫存器

乙個cpu由暫存器,運算器,控制器組成,暫存器負責儲存資料。通用暫存器 ax,bx,cx,dx。8086cpu的暫存器都是16位的,能存放兩個位元組。乙個暫存器又能分為兩個部分,乙個高位位元組如ah,還有乙個地位位元組如al。這兩個部分可以單獨看成乙個八位暫存器來用。當暫存器當整體來看時,它可以進行...

組合語言 暫存器

ax,bx,cx,dx 這4個暫存器通常用來存放一般性的資料,被稱為通用暫存器。8086cpu這5個暫存器都可以分為兩個可以獨立使用的8位暫存器來用 ax的低8位 0 7 構成al暫存器,高8位 8 15 構成了ah暫存器。ah和al暫存器是可以獨立使用的8位暫存器。考慮相容性8086cpu可以一次...