首页 > 代码库 > 8086 cpu为什么要把段地址*16+偏移量形成物理地址呢?

8086 cpu为什么要把段地址*16+偏移量形成物理地址呢?

8086 cpu为什么要把段地址*16+偏移量形成物理地址呢?

这是因为,8086地址线是20位,段寄存器是16位,将段寄存器*16实际上就是向左移动4位,形成20位和8086的二十位地址线匹配.

 

     IP(Instruction Pointer):指令指针寄存器,与CS配合使用,可跟踪程序的执行过程; 
     SP(Stack Pointer):堆栈指针,与SS配合使用,可指向目前的堆栈位置。 
     BP(Base Pointer):基址指针寄存器,可用作SS的一个相对基址位置; 
     SI(Source Index):源变址寄存器可用来存放相对于DS段之源变址指针; 
     DI(Destination Index):目的变址寄存器,可用来存放相对于 ES 段之目的变址指针

 

  CS(Code Segment):代码段寄存器;
DS(Data Segment):数据段寄存器;
SS(Stack Segment):堆栈段寄存器;
ES(Extra Segment):附加段寄存器。

8086 cpu为什么要把段地址*16+偏移量形成物理地址呢?