8086機各寄存器的用途

8086CPU有14個寄存器:AX、BX、CX、DX、SI、DI、SP、BP、IP、CS、SS、DS、ES、PSW
8086CPU所有寄存器都是16位的,可以存放兩個字節

通用寄存器(AX,BX,CX,DX)

這四個寄存器可以拆分爲:高位和低位兩部分,當做兩個八位寄存器來使用
AX:臨時存儲,參與乘除法的運算
BX:存儲偏移地址來訪問內存地址空間
CX:條件轉移指令的條件 或 循環語句的判斷條件
DX:輔助AX,作臨時存儲,參與乘除法的運算

段寄存器(CS,DS,SS,ES)

8086CPU不支持將數據直接送入段寄存器的操作
CS:代碼段寄存器,存儲指令的段地址
DS:數據段寄存器,通常用來存放要訪問數據的段地址
SS:棧段寄存器,存儲棧的段地址
ES:附加段寄存器
IP:指令指針寄存器,用來存儲當前指令的偏移地址
CS:IP 指向當前要執行的指令
SP:存放棧的偏移地址
SS:SP 就是指向當前棧的棧頂元素
SI 和 DI 是8086CPU 中和 bx 功能相近的寄存器,si 和 di 不能分成兩個 8 位寄存器來使用,用來存儲偏移地址

在 8086CPU 中,只有(bx,si,di,bp)這4寄存器可以進行內存單元的尋址
BP:當沒有顯性的給出段地址,而使用 bp 時,段地址默認在 ss 中
其他沒有顯性的給出段地址的,均默認在 ds 中

標誌寄存器

PSW 三個作用:
(1). 用來存儲相關指令的某些執行結果;
(2). 用來爲CPU執行相關指令提供行爲依據;
(3). 用來控制CPU的相關工作方式;

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