8086寄存器

段寄存器

爲了運用所有的內存空間,8086設定了四個段寄存器,專門用來保存段地址:

CS(Code Segment):代碼段寄存器

DS(Data Segment):數據段寄存器

SS(Stack Segment):堆棧段寄存器

ES(Extra Segment):附加段寄存器。

通用寄存器

有8個, 又可以分成2組,一組是數據寄存器(4個),另一組是指針寄存器及變址寄存器(4個).

數據寄存器分爲:

AH&AL=AX(accumulator):累加寄存器,常用於運算;在乘除等指令中指定用來存放操作數,另外,所有的I/O指令都使用這一寄存器與外界設備傳送數據。

BH&BL=BX(base):基址寄存器,常用於地址索引

CH&CL=CX(count):計數寄存器,常用於計數;常用於保存計算值,如在移位指令,循環(loop)和串處理指令中用作隱含的計數器.

DH&DL=DX(data):數據寄存器,常用於數據傳遞。

指針寄存器及變址寄存器

SP(Stack Pointer):堆棧指針,與SS配合使用,可指向目前的堆棧位置

BP(Base Pointer):基址指針寄存器,可用作SS的一個相對基址位置

SI(Source Index):源變址寄存器,可用來存放相對於DS段之源變址指針

DI(Destination Index):目的變址寄存器,可用來存放相對於ES 段之目的變址指針。


標誌寄存器

8086有一個16位的標誌性寄存器FR,在FR中有意義的有9位,其中6位是狀態位,3位是控制位。

指令指針IP


指令指針IP是一個16位專用寄存器,它指向當前需要取出的指令字節,當BIU從內存中取出一個指令字節後,IP就自動加(取出該字節的長度,如:BIU從內存中取出的是1個字節,IP就會自動加1,如果BIU從內存中取出的字節數長度爲3,IP就自動加3),指向下一個指令字節。


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