8086cpu中的寄存器(cs、ds、es、ss、ip、sp、bp、si、di)

1)4个16位段地址寄存器

8086对存储器采用分段管理,4个段寄存器分别用于存放4个当前段的起始地址,又称为段基址寄存器。
CS(Code Segment) ——代码段寄存器
DS(Data Segment) ——数据段寄存器
SS(Stack Segment)—— 堆栈段寄存器
ES(Extra Segment)——扩展段寄存器

2)16位指令指针寄存器IP

IP始终指向当前代码段CS所要取出的下一条指令的地址。
每取出一个字节指令后,IP自动加1。
可以用转移指令、调用指令及中断和复位等改变IP值。

3)4个16位数据寄存器

AX、BX、CX、DX,可以分为8个8位寄存器使用:
AH、AL、BH、BL、CH、CL、DH、DL
数据寄存器用于存放操作数及中间结果
举个例子:
BX任意时刻的内容都=高八位BH,低八位BL(对于其他同理)

4)4个16位地址指针寄存器

地址指针寄存器用于存放操作数的地址,编程时通过修改寄存器的内容达到修改地址的目的
SP(Stack Pointer)——堆栈指针寄存器
BP(Base Pointer)——基址指针寄存器
SI(Sourse Index)——源变址寄存器
DI(Destination Index)——目的变址寄存器
详细使用说明:

名称 作用
SP 总是指示堆栈段中的栈顶位置,专门用于数据进栈和出栈的位置指示,只能与SS配对使用
BP 指示堆栈段中一个数据区的基址位置,通常与SS配对使用
SI/DI 与DS联用,用来确定数据段中某一存储单元的偏移地址。在串处理指令中SI和DI作为隐含的源变址和目的变址寄存器,此时SI和DS联用,DI和ES联用,分别达到在数据段和附加段中寻址的目的

你可能感兴趣的:(微机原理)