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的相关工作方式;

猜你喜欢

转载自blog.csdn.net/weixin_44223946/article/details/105557131
今日推荐